Why does everyone seem to hate delay slots? I understand that it makes writing assembly more annoying but most people use a compiler anyway.
But the big reason is that except for the case of simple, short pipeline designs like the early MIPS parts they make designing CPUs annoying too.
The second you introduced parallel decode or a branch predictor with more than a cycle of latency these things hurt and don't help.