I've used MapTools in the past, but we kinda gave up on, partially because one player had constant troubles getting it to run (I blame the players more than MapTools, but in the end it doesn't matter). I have used it extensively for my own campaigns, including setting up some basics for conditions and stuff like that in my game. However, game support itself was very bare-bone to non-existent - you can roll dice, but character management and stuff like that isn't that easy to do and we kept that part mostly out of the system. I liked working with its map editor.
We are now using Foundry. It has some really good support for a variety of game systems, and you can build your own in theory. You need to host your own server, which might be a challenge for some, and I haven't done that myself yet, two other players in my group are running servers so far.
What I don't like is how it feels like it always locks down basic stuff, setting things up so players can upload their own character images or campaign notes is extra work, and when you run something like Pathfinder or DnD Next, the automation can be great, but it can also be very annoying if you go against the grain, I particularly don't like how strict it is with map views by default. Yes, being able to reveal a map slowly as your token representation on the map moves across the map can be useful, but more often tha not, I don't need it to be that strict, but changing things to be different seems a hassle every time (though I only know the player perspective on that, I haven't used the Foundry as GM yet.)