you cannot spend unconfirmed transactions at all. if you want to send your funds without the unconfirmed transactions it think you have to use coin control in bitcoin-core to send only the confirmed coins
But if we receive bt in blockchain , we can send it further w/o waiting for a confirmation
Correct, you can send unconfirmed transaction. However, the newly created transaction will not confirm until the inputs are confirmed(at least 1 confirmation). If the service requires at least 1 confirmation to credit, you still have to wait.
if miners are smart they can detect that there is a following transaction. if it has a big fee they would likely put both transactions in the same block (yes it is possible to use an output from the same block)
its been a little since i used blockchain.info. but i never had any problem with sending unconfirmed funds (and liked that feature very much)