The one thing that holds me back is the pull nature of Prometheus. We are pushing metrics already, so moving to a pull model feels like a return to the 20th century.
It actually tends to work a lot better. You almost never actually need metric granularity so fine that push is necessary. If you do, your usually using a purpose built tool for that. It also saves you from accidentally DOSing yourself when someone starts unexpectedly emitting more metrics than you can ingest (due to bug, more traffic, etc). All doable with push based systems but they tend to end up using queues or something to compensate which is its own kind of pain.
Actually, you probably want to have both. Push is great when you are collecting results of some operations, otherwise you would have to save data somewhere until it is fetched.