Difference between DNS Spoofing and DNS Hijacking?
One way of explaining the primary difference between DNS Spoofing and DNS Hijacking is given by this site as:

While DNS spoofing is often confused with DNS hijacking as both happen at the local system level, they are two different types of DNS attacks.
Most of the time, DNS spoofing or cache poisoning just involves overwriting your local DNS cache values with fake ones so you can be redirected to a malicious website.
On the other hand, DNS hijacking (also known as DNS redirection) often involves malware infections in order to hijack this important system service. In this case, the malware hosted on the local computer can alter the TCP/IP configurations so they can point to a malicious DNS server, one that will eventually redirect the traffic to a phishing website.

So, DNS spoofing is where some malware or something else changes values in your local DNS cache (on your PC, for example), with fake values so you would query and go to the wrong destination.
DNS hijacking, on the other hand, is not so much about attacking your local DNS cache, but something else like the TCP/IP configurations so your PC's pointer to DNS is diverted to a malicious DNS server that could redirect traffic to a malicious website.