Reusable content has more to do with composing your content and being able to reuse pieces of sub data around your whole content structure. While the availability of this feature will (soon ™️ ) enable you to structure your content differently that might benefit the scenarios Pascal is describing, it seems like the question is more about rendering the actual content. Headless vs Page based or a hybrid approach,
Personally I used to (before i joined HQ and actually created websites) like the hybrid approach as the speed of development with MVC is unparalleled, but the flexibility of having an in page Vue instance communicating with api endpoints is needed sometimes. I understand the feeling of incompleteness as when you want to componentize things, you need to create an output bundle for every single feature (Vue instance) you make that contains every js/html/css component you used.
On the other hand, if you set this up right, it is just 1 extra line for every Vue instance, as your Top component (feature) file becomes the entry point for the bundling.
I currently do not have any oppinions on ViewComponents, but I know there are some people in the community who have had great success with them, just can't remember who exactly. Maybe post the question on
https://our.umbraco.com/ and see if the non Discord people can help you make an informed decision 😉