Why do companies already register their ships in Panama or hide their money in the Cayman islands? (Other havens are available)
Because these countries have decided they would rather have the income than agree that what they are doing is somewhere between morally dubious and completely ammoral. It is easy to point the finger though, some of these places probably don't have many other ways of making money...