Plugins may sound like a good idea first. Let your "user community" extend and improve your application while the application itself remains untouched. Right...
How many projects have a user community able and willing to code such plugins?
Please remember that writing a plugin is more difficult than implementing the same in program's own code. You can't use dynamic strings in the API for example when using .dll (or .so).
To get such a user community an application must already be quite good. It has required lots of design and work then. At that point it MAYBE makes sense to provide a plugin API.
Very few open source projects make it to such level. There are hundreds of thousands of projects out there (just look at SourceForge) and most of them are doomed to oblivion. Yet, many of them have wasted their development resources for creating a plugin API.
I suggest you concentrate making your application as good as possible in its task. Then, if it becomes good it will gain users and maybe contributors.
If an application grows very popular then somebody may ask for a plugin system to maintain his extensions. Then you should implement it! In 99,9 % of cases it will never happen though.
The same rules apply for closed source SW. It needs to be big and popular before the plugins make sense.
Customization can be done without plugins by enabling and disabling some features etc.
When the first feature in a startup project is a plugin API, it is often a (subconscious) message for the "user community" to actually implement the SW, based on the idea of the author. Sorry guys but it doesn't work that way.
Juha