This calculator is based on a simple formula described in this thread.
Now the ethereum calculator gets the latest network hash rate from etherchain.org and the eth price from etherscan.io. The average blocktime represents the time in which a new block is generated and for each block 5 ETH are generated. Statistically you will be able to estimate how many ethercoins are generated by you given the fact that you know the whole network computing power. It's your part of the pie. That means for each 17.84 seconds (assuming thats the average time until a new block is generated) you get 5 ETH * 25Mh / 591.2GH. But remember this is an average. The estimation should be quite exact for the near future but if you want to estimate for longer term there is much uncertainty regarding how those variables evolve(Average Block Time, Average Network Hashrate).
For longer term prediction values are calculated based on anticipated network hashrate considering the evolution for the next 6 month will be similar as the one for the last 6 months.
The processing power of the cards is added from the spreadsheet shared in the thread mentioned above. The consumption is taken from the same place or from and the price is manually taken from amazon and neweggs(depending where is cheaper, the links contains affiliate code).
Ethereum is a distributed platform which is built on blockchain technology. Blockchain is a sort of a database which is stored on volunteers computers who are running a node on their computer. The blockchain can work if most the nodes in the network are acting fair keeping track and validating all the changes/transactions in the netowork. In order to make sure no group of nodes controls more than 50% of the netowork, the solution is to make it so expensive to control 50% the network that no organisation is able to do it. The algorithm adopted by many coins like Bitcoin, Ethereum, ZCash and others is called proof of work and in consists in a searching for a solution that can be found only through brute force. When a miner finds the solution it gets a reward and it can close the current block. The operation for looking for the solution is called mining and all the miners are competing for it, each of them having a chance equal to the processing power he has. Statistically each of them will get a part of the pie proportionally to the computing power is uses.
In order to mine you need to perform as many operations as possible in an interval of time. For ehtereum the best computing power is delivered by graphic cards with powerfull GPUs. Other coins, like bitcoins can be mined with specialized hardware calles ASIC which are a many order of magnitudes faster than the gpus.
Right the best cards to mine ethereum with are AMD Radeon RX 570 and 580 and NVidia GTX 1070. NVidia GTX 1060 can also be used but only the 6GB version.
As already mentioned the ethereum mining is done using graphic cards. As graphic cards can not work by themselfs, the ethereum mining hardware consists of a omputer which has as many graphic cards attached as possible. Those computers are called mining rigs and in gereral they have around 6 gpus powered by 1-2 power supply units.
In a blockchain, transactions are added in a block, then the block is closed and added in the chain. After that a new block is open. In order to maintain the consistency over the network, only one miner can close a block in a specified moment. That miner is the one which solves first the hash problem and finds the winning solution. Then it closes the block and signs all transactions, getting the block reward along with all transaction fees.
Findind a solution is practically running brute force algorithm. The time to find a solution is hard to tell. In the same time blocks are having a predefined maximum size and by convention a blockchain needs to have an averate time interval at which blocks are closed. In order to do that from time to time a variable called difficulty is adjusted based on previous performance.
The difficulty can be considered a parameter which is in the inverse relation with the network hashrate. The more computers are mining ethereum, the higher difficulty is.