Just wondering what are the advantages of using one over the other. I'm just looking for some general answers here.
For starters:
Just wondering what are the advantages of using one over the other. I'm just looking for some general answers here.
For starters:
It depends a lot on the details of the problem being solved. You can find a tabular comparison between them here, which links to more information. You are right about VB generally requiring more iterations, however sometimes each iteration is much cheaper than an EP iteration. Your third bullet is worded like a disadvantage of EP but it's more like an advantage---you can use the same approximating family as VB if you want, but you don't have to.
There are so many details that go into a coherent decision. In many cases, assuming you have an outcome in mind it may be helpful to implement both and the subsequently compare which result closest matches your desired outcome. As mentioned VB generally requires more iterations however it is often cheaper than other alternatives. Hope this helps. In closing I would recommend trying both to see which works. Post any issues you encounter and I hope to be more useful.