ICMPv6 ND and ARP are essentially same protocol. Main difference is that ARP runs directly over some L2 protocol, while ICMPv6 ND uses IPv6 multicast as underlying protocol regardless of underlying L2 transport. Practical motivation to do neighbor discovery using multicast instead of broadcast is to limit overall volume of ARP/ND packets that have to be processed by host's L3 stack (and enable reasonable intelligent switch to just drop them), when this mechanism was designed, excessive ARP traffic was real problem for many kinds of ethernet or ethernet-derived (eg. DOCSIS) access networks.