Azure offers two different availability solutions:
1. Availability Sets
A group with two or more virtual machines in the same Data Center is called Availability Set, this ensures that at least one of the virtual machines hosted on Azure will be available if something happens. This configuration offers 99.95% SLA.
2. Availability Zones
... Virtual Machines are in different physical locations within an Azure Region. ... Availability zones offer 99.99% SLA.
Not all services support Availability Zones.
My Question
So Availability Zones seem to be the superior solution: Higher SLA at the same price. Are there any reasons why I should choose Availability Sets if Availability Zones are supported?
It all depends on you solution. One of the articles you shared mentioned the key differences
What it didn't mention however is the bandwidth charges for Availability Zones. You might want to factor that in your planning and cost analysis when deciding between Availability Set and Zone.