Its to keep one team from getting to far ahead of the others, they want to keep things competitive for as long as possible. Plus the smaller American market that is slowly growing isn't enough to support a whole league so they need all the money they can get.
Basically it is annoying that they take your money, might as well just trade players and picks within the MLS and don't buy players from Europe except on frees.