Modern HDDs have reserved unused sectors on the platter, so that if a sector gets too weak, or otherwise gives errors, they can work to read the data, then move it, and then you don't lose your stuff. This is good. However, it should not happen often.
Reallocated sector count should be the count of sectors moved to spare ones. High values indicate a hardware problem, usually the HDD itself (but sometimes PSU, or a bad overclock).
Uncorrectable sector counts should be the count of sectors for which data recovery was not successful. This should be very low...like 0-5 on a several-year-old otherwise-functional drive in a stock-speed system. Occasional blips happen, but 12? I've never seen that high, before. I've probably encountered drives that bad, but I typically don't bother with SMART when the drive has obviously gone bad, based on other symptoms. The highest I've ever seen on a non-OC'd system with what seemed like a healthy HDD was 3, I think, and that was enough to make me run the full self-diag on it and make sure data was backed up . This value being more than 1 or 2 is a big red flag to backup and replace (1 or 2 would be big red flags, if it were not 2+ years old).
Pending sector count is a count of sectors waiting to be remapped--IE, it will remap them time they are read or written (usually just when written, for some odd reason).
However, if
Windows sees bad sectors, then you could be losing data.
Occasionally, sectors get weak and you'll have one re-allocated. I've seen some drives with 1 or 2 sectors re-allocated, and then never again. Generally, though, it's a symptom of an unstable overclock (common 'round these parts), bad PSU, or HDD going south, especially with high values, or the value increasing over time. With so many of them, backup your data ASAP.
If the HDD is going bad, chkdsk could do more harm than good.
The HDD's, you don't. There are probably utilities that can tell you by reading, and you could find out by inference, with the right read testing, if you wanted to take the time. Windows definitely has a bad sector list for NTFS, but even if you find it, it won't do you much good, because you'd then have to find what if any, files overlapped those sectors. A several-year-old HDD with 1-2 remapped is probably OK, but you've got some much higher values, there.
One thing that will help, though, as a human, is to go set the raw values to show up as decimals. Function->Advanced feature->Raw values->10 DEC.
Here's this computer's several-year-old Seagate HDD, for a comparison:
It tends to be random, from our end, as consumers, which drives will go bad early, which ones after a few years, and which ones after the PC is obsolete. Preventing it would be almost impossible. The best thing to do is realize that we don't preach backup plans for nothing. it wouldn't hurt to read
this thread, and find your best balance between extra cost and time, and data safety.