The ip neighbor command reports known relationships between the IP address, device, and hardware MAC address. It reports whether the relationship was reestablished recently or has gone stale:
$> ip neighbor 192.168.1.1 dev eth0 lladdr 2c:30:33:c9:af:3e STALE 192.168.1.4 dev eth0 lladdr 00:0a:e6:11:c7:dd STALE 172.16.183.138 dev vmnet8 lladdr 00:50:56:20:3d:6c STALE 192.168.1.2 dev eth0 lladdr 6c:f0:49:cd:45:ff REACHABLE
The output of the ip neighbor command shows that there has been no recent activity between either this system and the default gateway, or this system and the host at 192.168.1.4. It also shows that there has been no recent activity in the virtual machines and the host at 192.168.1.2 is connected recently.
The current status of REACHABLE in the preceding output means that the arp table is up to date and the host thinks it knows the MAC address of the remote system. The value of STALE here does not indicate that the system is unreachable; it merely means the values in the arp table have expired. When your system tries to use one of these routes, it sends an ARP request first to verify the MAC address associated with the IP address.
The relationship between the MAC address and the IP address should only change when the hardware is changed or devices are reassigned.
If devices on a network show intermittent connectivity, it may mean that two devices have been assigned the same IP address. It could also be possible that two DHCP servers are running or someone has manually assigned an address that's already in use.
In the case of two devices with the same IP address, the reported MAC address for a given IP address will change in intervals, and the ip neighbor command will help track down the misconfigured device.