What is the difference between duplicating and instancing an object, in regards to the materials they point to?
By default materials are linked to the object data. Hence when you instance the object data you are not duplicating the material, or the users of the material. 

When you AltD an object, you are keeping the same object data.
If you look at the Data tab of the properties window for any linked duplicate object, you will see that the Mesh Data has the number of users.

The material still only has one user because part of the object data is the materials.




However if the material link is set to "Object" then AltD duplicating an object will increase the user count for the material.