The simplest answer I can think of is people who root their device and install custom roms and such have a bigger risk of bricking the phone. These things void the warranty, but in many cases people can get their phone to appear to have been unmodified. So now they have to pay to replace the users phone who technically voided their warranty but are able to put it back in a way where it looks like it was never voided.
Another potential reason is that carriers put things on their phone in an attempt to get you to sign up for more of their services, but with rooting you can remove or replace any of these services without them being able to "market" it to you. Think VZ Navigator. Verizon wants customers to pay them to use their navigation software, even if it is super stupid to use it considering Google maps and navigation is free. If you root you can remove VZ Navigator from the device completely. I think this specific argument is a bit dumb, but the best I can come up with at the moment.
One more, there maybe many noob users who root their devices and create big problems by doing so. Carriers do not want to have to devote technical support resources to customers who screw up their device through mistakes caused by them rooting it. If they publicly say they allow rooting, they give people the okay to contact their tech support teams for mistakes the user made. Rather than add that cost and hassle, easier to try to prevent noobs from doing it.