First of all, most people eat canned beans. Canned beans are mushy and flavorless.
Second, most people have never eaten beans that have been made properly; soaked overnight, then boiled, before added to recipes.
Third, people forget to eat grain or a little meat with beans, which means that the beans’ protein enzyme is not activated.
Finally, beans are famous for, well, being difficult to digest. Replace canned beans with dry, and the problem goes away.
The real reason for why I eat beans?
They give me energy. Twice as much as beef, chicken or fish. Usually, I’m starving within an hour or two of my most recent meal. But when I eat beans with rice (to activate the protein enzyme), I don’t get hungry as quickly.