its more based on my lack of understanding...
Let me know if this is correct - they dont actually have my wallet on their site/server they just decrypt it when i login (where from im not clear) as the wallet is either on my pc, from Google drive or

They store an encrypted copy of your wallet in their database. They don't have your password, so they can't decrypt it. When you want to spend bitcoins, their server sends your encrypted private key from their database to your browser, then your browser uses the password that you entered to decrypt the private key and create the transaction.
I do realise its my browser that's decrypting my wallet not the actual site or server they are just providing a gui - correct?
Correct.
Now if i dont have my wallet online and someone wants to send me some Bitcoins to my public address i will not actually receive those in my wallet but the network will know those coins belong to my address but if i view my wallet offline it wont show me my balance until the wallet is back online?
Correct. Although, you never "actually receive those in your wallet", your wallet just hasn't seen the blockchain updates yet. Eventually when the wallet is online it will see the blockchain updates and will be able to tell you what is the total number of unspent bitcoins in the blockchain you have private keys for.