After having developed multiple apps for the Google Play Store, one of the biggest problems that I have encountered was inadequate testing. It is easy to spend all your time in development and marketing that your app may have a big bug. If the app crashes on a user, it usually means an immediate uninstall. If you app does not enjoy success at the beginning of being on the market, then it is hard to recover after the bug is fixed.
If I download and install an app and the User Interface is not visually appealing, it typically equates to an uninstall unless the functionality of the app is so appealing and intriguing that I am willing to overlook the UI. Just make sure the app looks decent as well as functions well.
Too Many Ads
Every app developer needs to make money and most of them make money from advertising revenue. This is fine, but if you go crazy on the ads, it will annoy your users and you will get a bad review. Showing an interstitial every once in a while or a banner should be fine.
One thing I have a problem with as a developer, is that I try to make everything perfect from a UI, Feature, and Development standpoint, that my project never gets completed. It gets stuck in development hell. Try to focus on the necessary pieces of the app and add new things in updates later on to avoid this pitfall.
Choosing an app name is one of the most important things for a developer to do. It should be a name that describes your app, but also is not too similar to other big apps in the marketplace. You would not want to name your pet finding app PetFinder. There is already a market leader for that.