EOS does not charge for each transaction, like other cryptocurrencies do. And while transactions are completely free you have to reserve some amount of system resources to use for processing your outgoing transactions.

You can think about EOS like a big server with limited amount of RAM, CPU cycles and network bandwidth. And these are the resources you can reserve (for CPU and network) or buy (for RAM).

Every transaction (if you just use EOS account to send transactions) takes a little CPU and network resources. Amount you reserve is a daily amount and if you receive CPU or network resources exhaustion message you can simply wait until you get more resource the next day.

Situation with RAM is different. The RAM you buy is yours and is used to store important information for your account. For basic EOS usage 4 KiB of RAM is almost always enough and you do not have to buy more RAM. However this does not mean you should not. When you buy or sell RAM it happens through internal EOS marketplace. And it is possible to buy RAM cheap when its price is low and sell it later on peak RAM demand. This is specific for RAM only: network and CPU resources when freed are always refunded for the same amount of EOS as purchased.