You can also compile the program if you have the source code - but even then some compile files etc. will have x86 specific items which will need changing (at least according to what I have read on this forum - I'm not an expert)
That is not usually the case. What usually happens is that there is a bug in the code that "accidentally" happens to work in certain circumstances. Those certain circumstances might be: "PC with x86 processor". then when you have something else, the bug will show up.
Check out our raspberry pi addons: https://www.bitwizard.nl/shop/