Fingerprinting has lots of flaws like you mentioned.
Too many people have similar devices for it to be the primary way to track people.
It is really a backup method of tracking that works some of the time based on a probabilistic match.
Your IP address is also a big factor in finding a match.
If my unique identifier changes with each browser version + os version + timezone + build id + fontpack + screen size... am I really trackable through this vector? Those things change all the time for me at least. Seems like a very short term method of tracking at best. Why should we be afraid of these things? I had the same question about panopticlick (or whatever EFF called it).