In most of the ICOs,initially all tokens are transferred to owner address instead of being handled at the contract address.Why?.
There's no particular reason. Some owners may want the possibility to manually assign tokens. But that can also be accomplished with a owner only function in the contract.
One important difference is that when the tokens are not assigned to the contract then you will have to call
approve() and the contract have to call
transferFrom() to assign tokens, which has a small increment in gas usage.