I think it's prudent to classify a couple of the OP's points differently:
Marketing.
You can be the best developer in the world, but you also need to know how to market your creations if you want them to really succeed. Chances are that otherwise, you're either preaching to the choir or an empty audience.
Know who you're targeting, know how to pique their interest. Know similar markets you can expand into. And know how to make people you don't know like what you do.
I just launched my first iOS app a few days ago. The marketing is probably at least half the work. We're in the education space and it's been a little hard really developing contacts and getting attention without an app, so we built a fairly simple first app mostly to get into the space and build a network. We're hoping that pays off for later, more ambitious apps.
Even though I should know better, I was surprised how many people asked for our app on Android, especially for the Kindle Fire. I had planned to eventually do an Android port, but I scrambled and got a port done and submitted to Amazon today (Google Play to follow). It really hit me today that if half or more of the work is the marketing and non-development tasks, it makes even more sense to address the top two markets. I just don't know how much Android users will really pay. We're hoping that the education space, again especially on the Kindle Fire, is a little more willing to buy apps rather than just grab the free game of the day.
Marketing.
You can be the best developer in the world, but you also need to know how to market your creations if you want them to really succeed. Chances are that otherwise, you're either preaching to the choir or an empty audience.
Know who you're targeting, know how to pique their interest. Know similar markets you can expand into. And know how to make people you don't know like what you do.