I honestly don't know what I want because I've never used a virtual table top. Mostly I want to be able to quickly translate pen and paper maps to tiles and store those digital maps. I want a grid that supports tokens of various sizes including non-symmetric sizes. Everything after that is mostly bonus. Ideally, I've heard good things about support for fog of war, so I'd like some sort of automatic lighting scheme around the player tokens that respects line of sight.
Okay, then let me enlarge on the benefits of Maptool and limits regarding what you care about.
First of all, the big upfront benefits of Maptool compared to some other options: It's free, and you host your own server (not difficult) so you're not dependent on someone else being up to do it.
Maps: Once you already have a map in some form for the use you plan its relatively easy to import into Maptool. Its drawing tools are present, but limited, however, so you'll usually want to draw it in something else if you don't have it from a source.
Tokens: You can set grids of either square or hexes, and importing images for tokens uses the same basic process as maps. Its easiest if you want to use symmetrical sizes (it has built in size settings for tokens of 3e era D&D style--i.e. Medium takes up one square, Large 2x2, Huge 3x3 and so on). Asymmetrical depends on what you mean by that--you can absolutely manually drag edges out to create, say, a 1x2 or 2x4 square filling object, but if you want something like 2x4 with a 3 square projection on one side I don't know any way to do it. Maptool will not convert those images into tokens per se (by which I mean put a ring or box frame around them) by itself, but there's another free utility called Tokentool that can do that for you, and then you adjust the size once in Maptool.
Fog of War: Maptool does support this, but I'm not qualified to discuss its lighting system; I use FoW, but adjust visibility manually so I don't know how good it is using lighting to have it auto adjust relative to the light aura around tokens, but I know it can do it.