Why is the transaction priority removed? As far as I know, in the earlier version of Bitcoin, there was a mechanism about transaction priorities. However, it has been removed (or not being taken into account anymore) and now the only criterion to be selected for confirmation is the fee. 

Can anyone explain, what the reason was behind this design decision? Shortly, why?
Firstly, the priority mechanism was not a consensus rule. Originally it was just a few hundred kilobytes of space reserved in a block (100 kb IIRC) for transactions that had a high priority. But this was not a consensus rule; it does not have to exist. After blocks started getting full, many miners, out of the interest of getting as much income as possible, chose to stop reserving this space for priority. There is more money to be made by choosing a few hundred transactions that paid more fees than it was to choose a few hundred transactions that didn't but had priority. Since no one miner was actually using priority, Bitcoin Core removed priority from its fee and confirmation estimations so that the given values would be more realistic and the code would be simpler.

The following pull requests and the issues linked within them contain some of the discussions that the Core devs had when removing priority: https://github.com/bitcoin/bitcoin/pull/9602, https://github.com/bitcoin/bitcoin/pull/7022, https://github.com/bitcoin/bitcoin/pull/7008.