Look in the SDK Documentation for RLibrary. Also read the Platform Security chapter which has the DLL loading rules.
Whether an application (or a DLL) must be certified or not it depends on what capabilities the application/DLL uses/declares. Of course certification is alwais recomended.
There are a surprisinly large number of people who want to explicitly load their own dlls, and frequently get into problems doing so, yet the system will load and unload a DLL for you so I never really understand why they want to do it for themselves.
Some people want to hack Symbian at any cost, instead of just simply using it.
I forgot to mention, there are a surprisingly large number of people who want to load their own plug-ins, when ECOM will do it for you and in a standard manner. Replace something that is standard and works perfectly well and is seemless with something that isn't standard, frequently doesn't work well, isn't as seemless, and would be a lot of work to match all the functionality ECOM provides.
So I never really understand why they want to do it for themselves
Plugin architecture is already invented and implemented, that is ECOM.
However the RLibrary-based approach makes sense if someone can live without some component, but he/she can also make use of it. In this case RLibrary::Load-ing a custom .dll quickly tells if the system was able to resolve its dependencies (the component is present), or not.