when is it better to use STL lists than regular lists? (the one with pointers and stuff)
When you're programming something "for real" and not programming just in order to learn C++ and about data structures.
When you write a "real" program for yourself and other people, you'll want to make as best use of whatever the C++ library offers.
Otherwise you will waste time by implementing and debugging your own list type, when you could have used the ready-made std::list and std::forward_list.