As far as I understand NP-complete problems are problems that are NP and have some other problem that is reducible to itself. Basically it is a set of problems that are NP-complete and if one is solved all are solved, right? What is the point of defining such set of problems? Also there might be several such sets of NP-complete problems, right? Also, I see that there are even more classification of problems like NP-hard, RE complete etc. Again, what's the point?