There are a number of flavors of ARP. I don’t know why we came up with different names but fundamentally their working are not very different in different scenarios. Its only the Media and technology which changes and calls ARP with different names:
ARP(Address Resolution Protocol): The protocol used to determine MAC address using Network Layer address is
known as Ethernet ARP or commonly known as just ARP. Mostly used in LAN communication.
RARP(Reverse Address Resolution Protocol): As name suggests, this is the protocol used to determine IP address from known MAC address. A wide implementation example is DHCP(Dynamic host configuration Protocol)
Inverse ARP: Another flavor of ARP. It is used to determine IP address using Frame Relay DLCI(Data Link Connection Identifier). Used in Frame Relay implementations.
ATM ARP(Asynchronous Transfer Mode ARP): It is used to determine ATM SNAP address using IP address. It is used in IP over ATM deployment.
gratuitous ARP: This is the most exciting flavor of ARP which I like, it is used to gratuitously advertise the MAC address of a host. gratuitous advertisement of MAC means that nobody has asked for my MAC address(data link layer address) and still I will provide it everyone.