Sometimes what you're talking about is having a regulatory and financial environment that facilitates transactions that you could not do onshore. Take captive insurance companies as an example. Why do captive insurance companies go offshore from the United States? It's because they couldn't do their business onshore.
So there are some legitimate reasons for multinationals to use them. There are also legitimate reasons that individuals may use them. If you're living in a Latin American country where you fear being kidnapped or where it's politically very unstable, you may want to have your money offshore.