I swear by Fantasy Grounds II, despite its problems. It's fickle, but not buggy. [...] It's literally the only reason I keep a Windows partition.
I used to say the same thing about DM Genie. But I don't use that program any more.
In addition, with the advent of MapTool (and the other RPTools applications) which are Java-based, I don't need a Windows virtual machine at all. (I still have one for that stupid, icky LiveMeeting crapware, but that's for business, not for gaming.

)
Some features that become drawbacks in certain situations- it uses a square grid, and the only option for anything else is to disable the grid altogether.
MapTool has square and hex grids, or you can go gridless.
There's no official 4e ruleset.
Ditto for MapTool. It doesn't have any game-system specific code in it except for the movement counting stuff (1-2-1 or 1-1-1), but this simply means that users can define their own rules via the macros they write to implement game functions.
It doesn't know how to do dice pools for success-based systems, but that might be a ruleset issue.
Oops. I said above that MapTool doesn't have game-system specific stuff besides the movement counting, but it
does have a large variety of die rolling features, including success-based rolls, exploding rolls, and a bunch of others. So I guess that's two exceptions instead of one.
Also on the list for inclusion soon is some kind of card deck support. MapTool won't be making decisions based on the cards, but it will provide support for drawing cards from a deck, placing them back into the deck, shuffling the deck, and so on. It will be up to user macros to make decisions based on the cards that are drawn or used.