Personally, I prefer approach where there is a free version with ads, and a non-free version with no ads and no buy buttons.
Alternatively, some apps simply have the full version ad-free and buy-button-free, and you can optionally buy a "support the developers" version from the store. If the "support-app" is installed, the full version simply adds a "thank you!" on the launch screen.
I don't know how well these approaches do in sales statistics, but I personally go for products like those if given a choice, and I always pay for them if I use them. If nothing else, it's more straightforward and honest.
It is very frustrating to have a fun or useful app which is only provided as a free version and constantly annoys me with buy buttons and ads. I want to just pay - sometimes a lot - for the product instead of watching ads and being nagged to buy Koynz(TM).