vmagent takes care of all the pesky edge things like emulating prometheus config parsing and various scraping bits. It also does buffering in case you lose network connection for a while, and accept vast spread of different protocols
vminsert/vmselect scale separately from eachother and your queries don't bother your ingest all that much.
vmstorage does just that, storage. Only thing that bothers me (compared to say, Elasticsearch), is that data can't migrate between nodes so you can't "just" start a new one and drain an old one, but a tiny bit ops work in rare cases is IMO price worth paying for straightforwardness of the stack..
PromQL compatibility is also great, tools like Grafana "just work" without anyone having to write support for it.
We started migrating from InfluxDB at work, and on my private stuff I already did. Soo much less memory usage too.