I just generated an offline address using bitaddress.org (saved the webpage to my pc for offline generation) and wtf that exact address exists on blockchain.info site how is this possibollll magic?
As long as the bitcoin address is in the standard format (starts with a 1, has a proper checksum in the last 4 bytes, contains only base58check encoding characters), blockchain.info will display the address. You type the address in when you search for it, and blockchain.info echoes that same address back at you when they display their "address" page.
I am thinking about storing all my bitcoin savings in a paper wallet but I'm confused how it works.
How does the software know how many coins that have been sent to that "cold storage" address since it is permanently offline.
Bitcoins are not stored in wallets, bitcoins are not stored at addresses. If you want to get literal about it, there is no such object or representation of a specific bitcoin, but we'll ignore that for this conversation. (The concept "a bitcoin" is an abstraction we humans use to make it easier to discuss the action of transfering control of value).
Sticking with the abstraction and avoiding the really technical details for a moment, the representation of how much bitcoin you control exists in the publicly shared blockchain that every full node on the entire bitcoin network has a complete copy of. Transferring control of those bitcoins to someone else is accomplished by digitally signing a message that references some "bitcoins" in the blockchain and indicating in that message which new address now has control of those bitcoins. That digital signature is calculated using a "private key", so you can think of the "private key" as being a bit like a password that gives you permission to transfer the bitcoins to a new address.
The private key is mathematically linked to the bitcoin address in such a way that each private key has exactly one bitcoin address that it is associated with. It is fast and easy for a computer to calculate the address if you have the private key. However, it is for all practical purposes currently impossible to calculate the private key if have the address.
The address and the bitcoins sent to the address are stored in the blockchain, but there are no private keys stored in the blockchain. The private key is in your wallet (or in the case of a paper wallet, the private key is printed on a piece of paper).
When you use any wallet program, the wallet calculates all the addresses for all the private keys that it knows about. Then it scans through the entire blockchain looking for all the bitcoins that have been sent to any of those addresses. It sums up all those bitcoins that haven't been spent yet, and it displays that total to you as the total bitcoins controlled by the wallet.
So, if you create a "paper wallet" completely offline, then the private key only exists on that paper wallet. Anybody can create a transaction to send bitcoins to the address that you tell them to send it to. There is no verification in the bitcoin system to make sure that a bitcoin address that is receiving bitcoins has been generated by anyone. As long as the bitcoin address is in the right format, the sender's wallet will create a transaction and broadcast it. All peers will verify that the bitcoins being spent exist, but they won't care where they are being sent. This transaction will eventually be added to the blockchain. At that time, you (or anyone that knows of the address) can scan the blockchain for the transactions that were sent to that address. By summing up all those transactions, it can be determined how many bitcoins are at that address without the "wallet" ever having been online. Blockchain.info will be able to do this for you.