It's still a learning process with me, but here's what I can say so far:
-- I host with Bluehost, mostly because they are WordPress-friendly and I like hosting my own WordPress site. Also, I have a business that already pays for the hosting, so, for me, it's free. Sort of. I pay yearly (instead of paying for multiple years) because I have hopes of retiring the business at some point. When that happens, I'll have to think about hosting costs for the blog, which I really like doing.
-- Not sure what you mean by 'private,' but since I host my own Wordpress site, I can make it as private or public as I want. I certainly kept it private until I got it working well enough not to be a complete embarrassment. (Now it's only a partial embarrassment).
-- I bought the domain name from Bluehost, but it just doesn't matter, as far as I can determine, who we buy 'em from. Fewer vendors is better, for me.
-- Posting on the road is difficult sometimes, because I like using 'native' WordPress and that means I have to be online to write, and upload pix, and piece together the posts. If the WiFi is iffy at an RV park (typically it is), it's tough. If the mobile carrier coverage (Verizon for me) is iffy at my campsite, it's tough, even with my Wilson Electronics booster. If I'm in some other country and Verizon wants too much money for data coverage and the WiFi is iffy and I'm not willing to go spend half the day in a nearby public library or other hotspot -- if there is one -- then, it's tough. What I'm finding is that I fall behind, and then I have to spend some hours catching up.
-- Uploading photos is a breeze with self-hosted WordPress. Not sure about other services/solutions.
Some day I'll get this all figured out. But if you get it figured out sooner, please share.