Totally agree. I've thought about buying a nice garmin to use instead of my iPhone, but I would really miss the geocaching app. I like that my phone has satellite maps.
The same feature on a garmin requires a subscription. Even topo maps are pricey. That's pretty lame. With my phone, I can find multiple caches on the fly and even log them from the site. Like you said, battery life sucks, but I've never been "in the field" long enough for it to become an issue. I can hop back in my jeep and charge my phone while driving to another cache.
If I could run the geocaching app on a garmin, I'd go out and buy one tomorrow.
I use a garmin vista h as well as an iPhone. You can input the coordinates on the go, sometimes useful if you have a friend without a GPSR.
I have an extra for sale If your interested. Perfect condition. Just pm me.