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:
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):
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
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.