Am I getting charged extra? I bought bitcoin on coinbase. I was charged the network fee, I understand. Then I had to transfer my purchase to electrum wallet. I was charged again. Am I doing something wrong??
Transaction fee's are a requirement whenever transferring Bitcoin on-chain. This is part of the reward that keeps miners mining bitcoin (the other reward is of course solving blocks and generating new coins). It is possible to set your own transaction fee/reward but the lower the fee the lower your chances that your transfer will be verified (miner including your transaction their block) and vice versa. 

Most exchanges and wallets set standard fee's which pretty much guarantee verification at a reasonable rate. You can view most of their rates in the help section. Off chain transactions occur when a specific provider (or agreement between different providers) exchange Bitcoins and keep the record of the exchange between themselves (most likely a SQL database) and off the public chain.