They are not sending Bitcoin from a address to another. They are simply just changing your balance info on their database to a lower or higher amount when you transfer money. They actually only send Bitcoin through the "real" blockchain when you want to withdraw to another wallet outside their system.
Does that mean they have full control over my money with them and if they want they can change my balance? This is alarming as there should be a mechanism so that they cannot change my balance. You may say they will only do it when instructed by me (by transferring btc to another wallet) but it leaves the accounts prone to human error.
It is good only for temporary use..
Much better to find a wallet which is you can backup your bitcoin wallet address and get a private key so that you have fully control with your bitcoin address and you can install your private key anytime to other wallet..