I used bottle for one project, but switched to Flask for everything once it was released. In my opinion the future is very bright for Flask (extensions, blueprints, community). The code and libraries it is built on top of are all extremely high quality.
Armin sums up the differences pretty well in a comment on StackOverflow[1]:
"The big difference is that Flask is based on other technologies such as Werkzeug and Jinja2 that exist for a longer time and it does not try to reinvent things. Bottle on the other hand tries to stick to the one-file approach.
[...]"
Lots of similarities, one of the bigger differences is that Flask is standing on the shoulders of giants whereas Bottle is turtles all the way down. If a lack of dependencies is a big deal to you, then Bottle wins, but given Python's packaging system, I don't see situations where that would matter a lot.
I'm not Armin, but I've used both extensively, and the main thing I can feel is that Bottle lacks the elegant power of Flask's underlying libraries. Django suffers from this, too, but in Bottle it's even more obvious: Werkzeug and Jinja2 are deliriously powerful libraries! I remember Armin once talking about how instructional and useful it could be to derive a custom Flask from Werkzeug, and watching his methodology, it became quite apparent that Werkzeug's the best way to do WSGI at the low level. Jinja2's in a similar position; if you've ever read through Django's templating library, you'd agree.