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.