PureMorning has a very good example of when booleans are the best. They do have there place for sure.. when the 2 objects are very well matched in typology, and its a clean mesh after.
the 2 main reasons against booleans:
Its hard to know if there going to work in situations where they are not matched well. So if your trying to used them allot, there is a lot of frustration and time wasted trying to make them work. They often don't work because the meshes don't sit will with each other.
Because it leaves you with a very tangled mesh. Buy the time you get done cleaning it all up or making it work it would have bean simpler and more accurate to extrude or some other of your favorite poly tools..
I could illustrate in pic’s if anyone is interested..