1. The BSDs adoption was severely hurt in the 90s by the AT&T lawsuit, it basically stopped several years of development while the lawsuit legal status was clarified. Linux and the GNU tooling didn't have that problem. If the lawsuit never took place it is doubtful whether the Linux kernel would have got as much interest as it did at the time.
2. If you don't keep up contribute your changes back to upstream (whatever the license) eventually you will be left behind and have to maintain your own incompatible version. It is in your interest to send upstream patches.
3. GPL code gets stolen all the time and put into propriety software. I've worked at loads of places that have just straight out cut and pasted GPL code into their own product (usually this is done without management's approval). Large projects such as the Linux kernel companies can't really get away with it. However a lot of companies don't build software for the masses, most build bespoke software that is only deployed on one or two servers on a company intranet and the general public will never see it. A lot of developers will just straight up steal code (not caring about the license) from wherever. A surprising number of companies still don't even use source control, let alone bother reviewing code.
4. Companies do contribute back to BSD licensed projects, however this is normally financially not through patches.