I use a Garmin Edge 200. It's excellent. Only a few drawbacks listed below, but overall, I really like it.
I suppose it's fairly old now and it's pretty basic compared to a lot of other models, but you get essential speed, distance, etc, without unnecessary distractions. You can preload a route and get a very simple graphic to follow for directions You can also view a lot of other data (eg. Strava) after you're home and have synced to your laptop.
It seems to go for ages without charging - maybe even weeks. It's never crashed. It feels pretty robust and wasn't too expensive either. It's also compact and very unobtrusive on your stem or bars.
You can't however link it to power, cadence or HR sensors, and you can't navigate other than from your saved route.
The only drawback for me though, is that it struggles to pick up a gps signal in the foot of the valley where I live and I usually have to get halfway up the first hill before position is acquired.
I can't make any comment on the dearer/newer Garmins or Wahoo.
My phone is an iPhone 4 and has terrible battery life for navigating, or pretty much anything. I know it's not a new phone, but I understand that's usually the main drawback with using phones.
If I get a newer phone, I'll be curious to see what it can do - what apps or sensors work with it, etc.