The amount remaining when the value of all outputs in a transaction are subtracted from all inputs in a transaction is the miner fee. The fee is paid to the miner who include that transaction in a block.
In bitcoin this is based solely on transaction size, in Ethereum the fees are paid in gas and calculated based on contract code execution complexity.
Every computational step, or OPCODE requires a specific amount of gas (which is hardcoded). You pay for gas using ether. To determine the fee you pay you calculate: fee = gas limit * gas price
For example a simple value transfer cost 21000 gas, the current gas price is dynamically set by users and miners and is currently ~0.00000005 ether, so the value transaction would cost ~0.00105 ether or $0.001 to $0.002 USD at current prices. Current BTC transaction fees vary anywhere from $0.01 to $0.09 USD
Users can set the gas price they are willing to pay and and miners can set the minimum gas price they are willing to accept. This creates a dynamic market, which allows the ether “fee” to be dynamic and adopt to ether price swings.