How can I tell if my mesh is detailed enough for boolean operations? I had a quick go at making an anvil with some boolean ops.  I started with the basic cube.  Things went OK until I added subdiv mod and bevel and it all went horribly wrong.  The bevel didn't seem to do anything and the subdiv made a disastrous lumpy mess wherever it was in the mod stack.

I figured I should have subvided the cube to start with so I tried it all again and the then subdiv worked as expected, my question is: how can I judge what level of mesh detail I need for a particular series of operations?

In this case I subdivided the cube maybe 2 or 3 times, and it worked, (though by this time the subdiv was hardly necessary) but if one has to spend an extended time working on a thing before finding one's mesh is too coarse, I mean it's not very good is it?

What's the best thing to do? Subdivide like crazy and hope decimate can fix it all up at the end?

Thanks.
Sorry, but you can only get that knowledge by doing a series of misstakes. Subdivision is by no mean a silver bullet and neither is bevels. Subdivision is not a requirement for any model. It is a tool to handle a hi-poly surface with fewer controlling vertices. But it is hard to handle and you must take interest in how to make good topology for sub div.

If you do booleans the resulting topology will often be bad. It needs to be cleaned up. I would recommend you to analyse the result of each modifier and so you can learn how to control them.

It's not how much topology you have, more how it the edge flow works and that you have enough of it to support your shape.

I can recommend you to research how Arrimus 3D solves different problem, not always the same tools but more often then seldom a solution that works for blender.

https://www.youtube.com/channel/UCSLLdTBwLMfTKWS56tOiQpw