To answer your question:
Specifically with regards to the bad blocks, the two SMART attributes below:
Num Attribute Name Value Worst Raw(hex) Threshold
001 Raw Read Error Rate 001 001 00000000-8C7B 051
005 Reallocation Sector Count 122 122 00000000-0269 140
What you have to understand is the threshold value on the very right needs to be LOWER than the (Attribute) Value and Worst (Value) fields, not higher as so many people believe.
Therefore, the manufacturer's LOWEST acceptable number for Raw Read Error Rate is 51, however yours is 1, which is the lowest value possible, meaning you have a very high number of Read Errors being reported.
The Reallocation Sector count threshold has also been exceeded, meaning that the drive has reallocated more sectors than the manufacturer has stated is acceptable before it can be deemed failed/failing.
In addition to the link provided by unknown20010, which provides a very good overview on SMART attributes, here is another one that explains the values.
http://www.ariolic.com/smart/glossary.htm