Because it's a hack and a workaround at best, not a fix to the actual problem. These are what is causing modern software to be so crappy in general, as developers are getting lazy, being more interested in implementing quick workarounds that come back to bite them in the butt later rather than track down and address the root problem.
These types of workarounds have a tendency to introduce new problems. Case in point: a few years ago, Asus wanted networkmap to do a better job in identifying printers. Their bright idea was to submit a fake print job on the spooler. End result: everyone's printers kept coming out of sleep mode multiple times per day just because networkmap was trying to confirm they were actually printers. I removed that piece of code, and I believe Asus did as well later on.
So, I try to avoid these as much as possible. Disrupting proper behaviour of ARP caching on a network is NOT a valid solution to this problem.