With 50,000+ applications in the Windows Phone Marketplace, it becomes clear that the longer you wait to publish your application, the more effort you will have to put into its promotion. That being said, I am not advising you to hurry and throw in a half-baked product. It's the complete opposite that I am trying to encourage - create a great product and spend some extra hours to make it polished. Here are some tips that I compiled from my experience, that are worth paying attention to.
1. Beta-test before release
It does take time. Days, if not weeks. The Marketplace offers this capability out-of-the-box, so why not take advantage of it? Don't look at the fact that the beta is limited to 90 days - you can easily close the beta early. I already wrote about my experiences with this process, and I am positive that every large application should go through it before hitting the shelves. The most obvious reason - you will be able to get test data from different users that can break your application in the weirdest ways. I would much rather spend an extra week fixing bugs than get a bunch of negative reviews for an application I spent a month working on.
2. Follow the Metro design guidelines
For the love of everything, please do this. It's not that hard, and there is a very clear and easy explanation of basic ideas written by Jeff Wilcox. If those aren't clear enough, you've got this resource. There is that bad feeling you get when you download an app from the Marketplace, and it would seem that it has great potential, but the UI is so messy that it kills any enthusiasm to use it further.
3. Add some originality
All these applications are built on top of the same API. A lot of them have a similar logo and have the same purpose. I wrote VSA, the rest are my official competition. If there is no differentiation, there is no success. How I can say that my app is better? It has more interactivity - it allows pinning users, comparing achievements and all that fancy stuff that other apps are yet to implement (shameless plug, I know).
When you develop an application that has (or potentially will have) competition in the Marketplace, make sure that it has enough capabilities to be superior compared to other applications. Or let's put it in a different way - make sure that your application is original enough for the user to pick it anytime over a competing product. Add value.
4. Know of situations where you don't need third-party libraries
My most recent example in this context is the one regarding the use of the MVVM pattern. Don't add unnecessary weight to the XAP, when you intend to use a very simple component or capability. Sometimes it is easier to write your own piece out of performance and future optimization reasons.
5. Do use the Performance Analysis Tool (PAT)
Not enough independent developers use this tool, and the situation should change. PAT highlights the parts of the application where you might need to dedicate more attention and maybe optimize the code a bit. Remember that application loads might be different depending on the network and the amount of content handled, so it is better to create a "safety net" for some critical points that might create performance problems.
Now if you will excuse me, I have to go and write some great Windows Phone apps.