I have been informed by certain networking professionals that ARP replies can and sometimes actually are broadcast packets instead of unicast. If and when would you use a broadcast ARP reply?
According to the RFC826 (An Ethernet Address Resolution Protocol) the sender has to:
put the local hardware and protocol addresses in the sender fields
But as you pointed out why an host would use the broadcast address in an ARP reply? Maybe because this could seem clever: using the L2 broadcast address all the hosts in the LAN would immediately know a new (IP,MAC) pair saving time. Actually this method is not desired by the RFC (even if they refer to periodic broadcasting):
Periodic broadcasting is definitely not desired. Imagine 100 workstations on a single Ethernet, each broadcasting address resolution information once per 10 minutes (as one possible set of parameters). This is one packet every 6 seconds. This is almost reasonable, but what use is it? The workstations aren't generally going to be talking to each other (and therefore have 100 useless entries in a table);
It also depends on the host's OS to add in the ARP table a tuple learned by a broadcasted message.
EDIT: As stated in the comments the RFC 5227 updates the RFC 826 and it says
In some applications of IPv4 Address Conflict Detection (ACD), it may be advantageous to deliver ARP Replies using broadcast instead of unicast because this allows address conflicts to be detected sooner than might otherwise happen
One of the uses of broadcast ARP is the gratuitous ARP replies sent by some clustering or link aggregation (i.e. teaming) solutions. This is the process they will typically use when they want to move traffic from one interface to another.
This process will update all hosts on the local subnet (including the gateway) as well as causing the L2 switches to update their MAC address tables. The result is that all the traffic should switch over to the new interface smoothly and quickly.