How about this too. Can we do USD > BTC and BTC > USD inside BTC-e or Bitstamp ?
That way we can skip Bitinstant and just use BTC address. Am I correct? Or there is a reason for Bitinstant to exist. I'm confused.
Yes. That's the whole idea with Bitstamp and BTC-e.
On both exchanges you can use USD to buy BTC, or you can use BTC to buy USD.
So yes, you can do USD -> BTC, or BTC -> USD on both Bitstamp and BTC-e.
The whole idea with Bitinstant was/is for people who want to transfer USD out from exchanges into their bank accounts, or to transfer USD from their bank accounts into an exchange. You don't need Bitinstant for transferring BTC between exchanges. You use your Bitcoin addresses for that.
I don't think almost anyone uses Bitinstant any more. Most exchanges today like Mt Gox and Bitstamp provide direct bank transfers. So you can transfer USD or EUR in and out of Mt Gox or Bitstamp using just normal bank transfers. Then you buy BTC for your USD or EUR.
Once you have BTC you can send it anywhere you like. Mt Gox, BTC-e, Bitstamp, Vircurex, your wallet, your friend, etc..