I would like to ask the experts that why this is happening again and again?
Simple: Bitcoin is the victim of its popularity and we're reaching a point where the total weight of all transactions is such that blocks are full. That happens indirectly when the number of transactions increase, which in turn happens when new users join the bitcoin club.
From this point on there are three solutions: (1) either you're satisfied with the current situation and you accept to pay higher fees without doing anything (said fees will get higher and higher as new users arrive, until the point where they will be so high that no new users will join anymore, and then they'll reach a high and stabilize but there's no saying where and when this will happen), either (2) you join the big blocks club, or (3) you support segwit and the lightning network. Pick your side but pick wisely: each of them have their lot of downsides and advantages.
I personally advise against choice #2 as a hard fork would be disastrous for the unity of the network. We've recently had a glimpse of what would happen in case of a hard fork when one of them happened between ETH and ETC. Since it's happened most big blocks supporters seem to have stopped supporting them too. I mean, it would be open warfare between BTC and its fork and I'm sure that as an investor you and your money don't want to be caught in such an apocalypse. Also, as blocks would get bigger, security concerns would arise.
Totally true, with the bitcoin becoming higher in price and people are coming in everyday that only means more transaction and more traffic which means more work for the miners, that is why it is why the transactions take time to get confirmed if you want to ensure the transaction reaches fast you have to pay fees.