Generally speaking: Your time is better spent making the core-offering better, vs adding a bunch of extraneous features.
If you're going to beat the competition at (whatever it is you're doing), it will likely be because you do one thing very very well...not because you do 20 things so-so. When you pack on too many features pre-launch you become the tech-equivalent of the donut shop who also sells Chinese food, smoothies, burgers and breakfast sandwiches (you do a lot of things, but you do them poorly).
You can totally add on more features later, but don't do it at the expense of your core offering. And if your core offering is done, then there's no reason not to launch right now.
So in summary: Build the core first, launch it as soon as it's ready, then add more features later...especially after your customers start telling you what features they want!