The way I've always seen it, which is not 100% in line with scientific opionion, is that a sociopath has an issue with lack of emotion. They may do things we consider bad or even evil, but it is due to lack of caring or understanding. A psycopath on the other hand, is well aware of how "normal" people think and feel, and delights in exploiting that to cause pain.