USB or headphone jack is completely different than 32bit support. What's the point of maintaining 32bit apps ? Changing app from 32bit to 64bit is simpler than interfacing USB-C device to USB 3.0 port. If you use some severely outdated piece of crap of software that developer never bothers to update, then stick with the old ass caveman hardware.

Linux and compatibility ? It's a complete joke. Linux apps will usually break the next week after you compile them and update any library in the system - that's why no serious developer will ever support linux unless they fix their compatibility problems. Shipping .so or static linking is laughable "solution" - you miss various things. They drop support for various things in kernel all the time, because - IT'S A MAGIC - there are no infinite developer resources.

Probably because not every software needs more than 4GB of memory. Things worked pretty well until recently, 32 bits is enough for Word and stuff. If you need them to be 64 bits then there are questions pending. Not everyone runs a server farm in their garage. At least 32 bits apps are more easily sand-boxed into a 64 bits system. Better security it is.

You don't always need 64bit, but the frequently with which you do need it are increasing every day. Consumer laptops are now frequently coming with >4GB of ram, a browser with many tabes open can easily consume more than 4GB. And remember the 4GB limit is address space, not total ram usage of a process.

Having both 64bit and 32bit support requires support in the kernel, 2 sets of userland libraries etc, and the 32bit libraries will contain support for more legacy features (ie anything that got deprecated before 64bit was introduced likely wont have been compiled into the 64bit builds).

So yes individual 64bit apps may consume more resources than 32, but having a mix of 32/64 and all the legacy baggage associated with 32bit libs going back 20+ years could actually result in higher resource usage than a pure 64bit system.

Then there are the quirks of amd64, where the 64bit mode adds a lot more registers for example... The lack of registers in 32bit mode can be a performance bottleneck, which is eliminated by running in 64bit mode. Many programs run faster, even if they don't take advantage of any other 64bit features.

By only supporting 64bit you also rebase the lowest common denominator, there are more cpu features that you can take for granted and use without having to have multiple code paths to support older processors.

There are many benefits to moving towards pure 64bit... The stupid thing for Apple is that they never should have supported 32bit x86 at all... Microsoft has a long legacy of 32bit x86 support, but Apple moved from powerpc to x86 *after* amd64 was already established. They could very easily have made OSX 64bit-only right from the very first non-powerpc version.