While I do like Roll20, I would be remiss if I didn’t direct people towards the Foundry VTT. Advantages are it’s a one time purchase, is open source with many system platforms and modifications available, is quite powerful, and easy to expand. The disadvantage is you have to host it yourself, although a free server instance on Oracle Cloud does quite nicely. (Ok, so for some people this isn’t a disadvantage, but I’ll freely admit it can be a huge obstacle.)
An example is the portal for my hosted instance for Patchwork, a game that’s been too long on hiatus.