Garmin
Forerunner 255 Series
Long battery; but wrist HR tracking is inconsistent.

Running these analyses costs money. Buy through my links to help keep lights on! I may get a small commission.
No summary available.
I love this watch: [https://a.co/d/cehxA9F](https://a.co/d/cehxA9F) Xiaomi Smart band 9. It has a really great battery life (\~20 days) and it's not as expensive as the comparable fit bit options. I bought a custom flexible band too and only take it off during showers.
I use the Xiaomi Smart Band 9 (world edition). It has an almost 21 day battery life, which I love and the HR tracking is damn good. However, it does have the food tracking you are asking for as the app that it comes with is more for tracking movement, HR and sleep.
Mi Band 9, The best watch super cheap but tracks everything I need: heart rate, distance, altitude, blood oxygen, and more. The best part is the battery lasts 6 days. I love it.
I know that Greg Mairs uses Zoop. Personally, I use a Mi Band 9. It lasts for a couple of weeks and heart rate is quite accurate +/- 3bpm. OnePlus has a watch that tracks shots played and so forth
I got a xiaomi smart band 9 for $30 USD from Amazon a couple of weeks ago. If you're in the US, it uses metric units; idk if that'd be a deal breaker for you. I just wanted something cheap to track steps and tell the time, and it works great for that. There is a period tracker, but I decided not to use it. Didn't seem like the best idea, being a woman in the US.
Currently rocking a Xiaomi Mi Band 9 and it's pretty good. Battery life lasts about 2 weeks with my settings (pretty average). For ~$30 USD, can't really complain. My only real "complaint" is that it doesn't have NFC / Google Pay integration, because that would be neat. The Fitbit Charge 6 has it - but costs 6x as much. The app situation is a bit of a mess. DO NOT under any circumstances enable Health Connect syncing in the Mi Fitness app. It won't be immediate but after a week or so it will peg your phone's CPU to 100% and absolutely murder your battery life. The only solution is to uninstall/reinstall (for about another week). It's a long standing bug (you can find discussion of it going back years). So just don't do it. Also - older bands (7 and older) use the Zepp Life app instead. Which is also fine. The annoyance for me is I have the Xiaomi Body Composition Scale 2 which also only uses Zepp Life - and then the band uses Mi Fitness and there's no way to have them on the same app.
Xiaomi Mi Band has been the gold standard forever now. Also buy it on Ali Express, not Amazon or your local Xiaomi store, it's much cheaper. The Mi Band 10 is £40 - but the 9 is £35, so depending on how strict he is about the budget. I've been using the 9 for about a year so far and it's pretty good. Battery life is about 2 weeks (but will depend on how you set it up). At least when compared to my phone's (Google Fit) step tracking it's pretty accurate, and when compared to the heart rate reader built into my gym's cardio equipment that's reasonably accurate as well. Kinda wish it had Google Wallet support for easier NFC payments but it is what it is - otherwise can't complain.
Xiaomi Band 9 for $32.00 at Walmart or the 10 for $55. I'm still using the 7. Google Xiaomi Band 9 vs Band 10 for differences b/t them.
Garmin
Forerunner 255 Series
Long battery; but wrist HR tracking is inconsistent.

Garmin
Forerunner 955 Series
Best value, clear MIP screen; limited smartwatch features.

Garmin
Fenix 7 Series
Durable, multi-week battery, flashlight; high price, buggy software.
Garmin
Instinct 2 Series
Rugged, solar multi-week battery; bulky, small screen readability issues.

Garmin
Enduro 3
Multi-week solar battery, lightweight; but bulky form factor.

Ranked #1
Oura - Oura Ring Series

Ranked #1
Apple - Ultra Series

Ranked #1
Garmin - Enduro 3

Ranked #1
Garmin - Fenix 7 Series

Ranked #1
Garmin - Forerunner 255 Series

Ranked #1
Oura - Oura Ring Series