Bitcoin transactions are not verified instantly – coordinating between thousands of nodes across the world inevitably takes time. Bitcoin transactions are verified in something called blocks. The bitcoin protocol is set up so that users engaging in something called bitcoin mining create a new block roughly every 10 minutes on average. Transactions are considered verified once they have been included in at least one (or several) blocks.
Miners are people who run bitcoin mining software on computer hardware. What this mining software does is a complicated process – but essentially it tries to perform a brute-force on a SHA-256 hash. Imagine a computer guessing random numbers as fast as it can until it finds a number that happens to match a certain pattern - that's what mining essentially boils down to. The miner who finds a matching hash will have created a new block, and the miner is rewarded a certain amount of new bitcoin as a reward.
Once a miner finds a block – that is they find a matching hash that creates a new block – they are given a reward for their efforts. This reward is hardcoded into bitcoin based on how many blocks have been created previously. As blocks will roughly be found every 10 minutes (the difficulty of the hash matching is adjusted automatically to ensure this), Bitcoin would have significant inflation problems if the reward never dropped. Bitcoin is however programmed to halve every 4 years. The reward started at 50 BTC when bitcoin first came around in 2008, and will slowly half every 4 years until it reaches zero for a total of 21 million bitcoins in existance.
For this reason, bitcoin is considered a Deflationary Currency.
Bitcoin miners finding blocks is how transactions get processed on the Bitcoin network. To further incentivize miners (and to incentivize them after the block reward reaches zero) Bitcoin users can include a transaction fee when they send Bitcoin, to ensure their transaction is included in the next block. Transaction fees are never required, but you may end up waiting a while for your transation to confirm if you attach no transaction fee, if there's lots of other transactions sending with a fee. There are only so many transactions that can fit into each block, so transaction fees also work as a method of reducing spam transactions.