Part of the problem is that it overrides extremely low-level things like cd. That can get in your way pretty badly if there's a bug, or just a feature you don't understand.
this is not quite correct. it has a configuration option for this and you can set it to false. it was actually set to false as default for a while after rubyenv was released but then it reverted to true by default as I suppose it a better option for most users.
but again, if you don't like this part of rvm, just switch it off