EDIT: I should clarify that the below observations apply to my experience building visualizations with complex layouts. When one is just interested in a single plot, things are much simpler.
I agree with you, Vega and the ecosystem around it are a really powerful and polished solution for beautiful plotting and other kinds of visualization. It is probably the best choice, certainly so for complex and/or interactive visualization, except for really huge datasets. Vega (Lite) is also great for simple or one-off visualizations, however learning Vega (Lite) can be a huge time sink IMO.
Vega is so feature-rich that it’s sometimes intimidating. The documentation is impressive, but not perfect (missing examples, omissions), and the sheer number of different properties/options can be overwhelming.
Take this manual page, for example. I guess it’s exhaustive, however, and I hope I don’t sound too spoiled saying this, ideally many of the properties there would have example plots next to them. Many manual pages in the Vega docs do, in fact, have examples, my point is just that the docs could be improved a great deal, and then learning Vega would probably be a lot easier for newbies.
One problem that I had, as far as I remember, is that third-party information and tutorials are very scarce, especially for some new features. In fact, it turned out that reading the issues on the Vega and Vega Lite Github sites was the easiest way to learn how some advanced features can be used.
Another complication is that the Julia packages and even Vega Lite (as opposed to pure Vega) add to the abstractions, making learning more difficult if one doesn’t already know Vega in some cases. Debugging Vega Lite can also be difficult for those who don’t know Vega.
The Vega Editor and Vega Embed helped me with learning/experimentation, but jumping straight into HTML/Javascript/CSS is necessary for some advanced features.
To sum up: Vega’s power is a double-edged sword for newbies.