Bad sectors are "reparable" in some cases. Your hard disk has a reserved area where a very small number of sectors can be remapped. However, if a sector cannot be remapped, either because the reserved space is full or for some other reason, then its time to backup your data and get a new hard drive.
Try running
HDAT2 to repair the bad sector. After it completes, reboot back into Ubuntu and check the "Current Pending Sector Count" in Disk Utility again. If it has dropped to zero, make sure there are no other errors reported by SMART, and try starting Vista again. Even if all the bad sectors have been repaired, its likely you will have to run
chkdsk on your Windows partition before it will boot.