The long answer involves a lot of technical jargon, but the short answer is that the compilation process turns high level source code into something that the machine can read, and that process usually drops a lot of unneeded data and does some low-level optimization to make things more efficient during actual processing.
One can use a decompiler to take that machine code and attempt to turn it back into something human readable, but will usually be missing data on variable names, function calls, comments, etc. and include compiler-added optimizations which makes it nearly impossible to reconstruct the original code
It’s sort of the code equivalent of putting a sentence into Google translate and then immediately translating it back to the original. You often end up with differences in word choice that give you a good general idea of intent, but it’s impossible to know exactly which words were in the original sentence.
It’s because behind both parties is a unified force known as the military industrial complex, which loves any excuse to make and sell weapons.
Say our government decides to send 100 million dollars in military aid to another country. Most, if not all, of that 100 million is sent as physical armaments rather than actual currency. The government gives companies like Lockheed Martin, Boeing, Northrop Grumman, etc the actual money for this aid effort, and their products (weapons of war) are what is sent along as aid.
As it turns out, companies like the aforementioned love any excuse to sell more weapons, and carry large amounts of sway with politicians on both sides of the aisle, so they pressure those sales to continue.