This is nonsense.
To begin with, there's no such thing as a "hardware firewall". A better (and commonly used) designation is "appliance". A firewall appliance is a dedicated box, running an OS (in many cases a tweaked Linux or *BSD, though there are of course many other possibilities, like IOS on Cisco firewalls), on top of which the actual firewall software sits.
Now, assuming you call a "hardware firewall" any kind of dedicated firewall appliance, well, obviously, since your wireless router does wireless routing, it's not a dedicated firewall, is it?
That said, whether you have a dedicated firewall box or not, it's the quality of the firewall software that has to be taken into account. It's always a very bad idea to make a product insecure by default. Microsoft has been bashed repeatedly for that, and so should Apple!
However, I'm not yet ready to believe that their firewall is as flawed as the article says. I'll have a look in a couple days!
And
Finally someone said it
I think that's basically splitting hairs.
Obviously, software (in a generic term), or perhaps more appropriately referred to as a "Computer Program" in this context, has to be used to process rules and determine what should happen.
In the case of a router with a firewall, you essentially have a hardware appliance that is programmed to respond to events in a specific fashion. Those of us from the early days of computing will distinguish hardware / firmware from software based on a simple criteria. Hardware / Firmware was used to refer to physical product or code that was embedded into a physical product such as an EPROM / ROM chip (which more recently would equate to a Flash ROM).
Software was a term reserved for a program or code that resided on "soft" media such as a floppy disk (or any disk media at the time).
Firm=Hardware / Chip or code contained in said firm item.
Soft=Floppy / media that was generally a disk.
Of course, for those who's entry point into computers didn't originate in the 70's, perhaps software could be looked at as any form of computer code. But, that is not the origins of the meaning.
But, the term "Hardware Firewall" is generally used to distinguish a Firewall device / appliance from a program running on a PC (or computer).
It's pretty clear and obvious what is meant.
Those that like to nitpick, will obviously flock to picking where picking isn't necessary. At least it makes them feel like big tough men (or is that nerds who need an ego boost?).
I would imagine that most would see the simple term of hardware firewall and associate it appropriately with a product that is dedicated to that purpose.
And, likewise, a person of reasonable intelligence would also associate software firewalls with programs that run directly on their computer.
Those would be appropriate and reasonable associations. And, are simple terms to convey an idea without extended and unnecessary descriptions.
It would be far more useful to discuss the topic at hand than to debate whether a given term meets with your literal interpretation. As such, the given terms do fit with the origins of the terms as they originated back before most here were out of their diapers.