I cannot use TotM. I am a visual person and when given audio descriptions, I sometimes just don't get it. When I have used TotM, I sometimes got confused as to what is going on (4 rounds later "Wait, the battlements are on this side, not that side? Frick!"). The other problem with TotM is that if someone goes to the kitchen quick to grab some food, or goes to the bathroom or out for a smoke (we have 3 smokers in our group) mid-combat, not only does what just happened have to be relayed to them, but so does current PC positioning and status information. With miniatures, players can see the current positioning information (and prone information, and conditions information) at a glance. Plus one of our players plays remotely via camera, so without miniatures, that player would be more often confused because the camera view gives him so much more information visually than with no camera view.
So, we use a grid. We use miniatures, we use a Chessex hex map with individual hex numbers on each hex. This allows the player of an invisible PC to send a note at the end of his turn telling the DM exactly which hex the PC is located in. That way, the other PCs do not know exactly where the invisible PC is. If an area effect spell goes over that hex, the invisible PC might be caught in it. Alternatively as DM, if I have an invisible NPC, I can write his hex number down and if the PCs use an area effect, I won't misremember the exact hex the NPC is in. We also have a friendly fire rule where ranged or thrown weapon attacks have a slim chance of hitting a target who is in a direct line between the attacker and the real target, so an invisible PC could also get hit (super rarely due to also being invisible) by a ranged attack from an ally. Due to the strange stealth rules in 5E, we play that if you are in combat and invisible and not in disadvantaged stealth armor, you are for all intents and purposes "hiding" and nobody knows where you are because you cannot be seen and the other loud battle noises mean that you cannot be heard. Creatures with blindsight or other special senses typically still know where you are though.
The other advantage of the hex numbers is that in many cases, range can be calculated really fast. If the target is on hex 2130 and the attacker is on hex 2643, the target is 13 hexes away or 65 feet away. There are some cases where this does not work (due to how hexes work), but as DM, that just requires two math steps instead of one. I can still fairly quickly determine exact range and since this only has to be done once in a while (if the PC is 20 feet away, we don't really calculate range for his 60 foot spell), it's pretty doable. I totally get the "using a colored string" or other techniques that some people use for range, but numbered hexes more or less prevents the need for that.
We use an acrylic sheet over the Chessex map which allows us to draw with dry erase markers and avoid some of the coloring issues that sometimes affects a Chessex map.
We use little plastic soda bottle rings (the little colored rings that are on a plastic soda bottle after you screw off the colored cap) to indicate conditions and spell effects. Red is bloodied (a 4E term, but one which is applicable if you use the Describing the Effects of Damage rule on page 197 of the PHB), yellow is detrimental effect, silver is buff, orange is reserved for our remote player's miniature so that he can more easily see on his Skype video where his PC is located, blue is certain spells like Hunter's Mark, etc. The miniatures are knocked over to indicate prone.
I would love to use some type of game software and a digital TV monitor built into the table (which would also allow digital transmission to a laptop for our remote player), but I think that would have to wait until I retire. I would also like to use terrain tiles, but I am too lazy to prep all of that before an encounter starts. It's often faster to just draw stuff.