Agree that bonus giving brokers should be avoided. They often lock in your real funds and make it impossible to withdraw any money from them
Yep, that is correct. The very simple reason is that brokers giving bonuses in 99% are market makers. Why market makers - because those bonus is fictive and even in case of lose, the broker will not loose any own money, but the trader will lose his account, which will be profit for the broker.
On the other side are the STP brokers. Those brokers will not offer you bonus over deposit, because all orders are sending to different LPs, out of the STP brokers ecosystem, which means that those bonus amounts will stay as a guarantee of open position and the broker will bear the risk of lose. That is the reason the real STP brokers acting on agency model to be the real intermediaries and they will not give bonus over deposit, but in fact the bonuses they are sharing to traders are: low spreads, much better execution, high protection and safety of traders funds, solid regulations and etc. :)