Bitcoins don't exist at all. There is only a log of transactions between addresses, and the numbers of balances associated with the addresses is what we interpret as 'bitcoins'.
Why it isnt explain this way right away...? I didnt do much research, but so far everywhere i looked there was just some complicated explanations... I really didnt read is explain this easy (as i did) anywhere so far... why that? Is the bitcoin comunity afraid that people might loose interesz when they figure out that they really dont own bitcoins :-)...?
Talking about 'having or sending bitcoins' is just an easy metaphor that makes sense in a practical approach.
Will people lose their interest in the euro or dollar because these don't exist either? They're just numbers on a bank account. Sending euros from my account to yours doesn't actually transfer anything, there are no euros involved whatsoever. The balance associated with my bank account (which is essentially just some number in a database) is lowered, the number on your bank account is raised, and that's it. Nothing is "transferred", certainly no "euros".
Public keys can be described as a "login" (in email)
And private keys might be desribed as "passwords" (in the email)
You rarely deal with public keys, you probably mean Bitcoin
addresses (which are hashes of public keys).
Public addresses can be described as "bank accounts". Except there's no bank involved, and they're publicly visible (that is, its existence and holdings), and not linked to any owner or account holder or identity.
Private keys can be described as the internet banking login+password you need to spend the money on an address.
Effectively, anyone who has an address' private key can be considered the owner or account holder of that address.
Perhaps an even better metaphor:
Address = a transparent or glass safe, with an 'entrance only' slot though which anyone can put stuff in the safe (but not get anything out).
Private key = the secret combination to open the safe and get things out.