These can be related to the languages in use, some languages will dictate setup (.Net will be Windows, iOS will be Mac).
If language doesn't dictate it, then whatever is most commonly in use already is normally continued. There's not much point in having every developer use their own bespoke setup as you want to spin up dev environments quickly to be able to deal with growth, disaster recovery and just good practise like having your dev environments resemble your production environments.
Macs make good choices because on a Mac you can dev anything with VirtualBox.
At work I'm on a Mac Pro and dev inside of Ubuntu VMs with a Windows VM set aside for testing.
Anyhow, I don't think it matters so much about the individual, the selection of one or the other is usually to help normalise the dev environments and to keep things maintainable.