One significant difference is that it std::forward_listdoes not have a member function size(), where sgi::slistthere is no quality . The motivation for this is that the O (N) size()problem was problematic. N2543 contains more detailed design information for forward_list.
Update:
Recently, I had a good reason to take a closer look at this topic. slistalso has other member functions that one might think of are O (1), but they really are O (N). These include:
iterator previous(iterator pos);
const_iterator previous(const_iterator pos) const;
iterator insert(iterator pos, const value_type& x);
iterator erase(iterator pos);
void splice(iterator position, slist& x);
void splice(iterator position, slist& x, iterator i);
In short, if you are not very careful, you may run into significant performance issues using slist. Using std::forward_listinstead ensures that you get the expected O (1) performance from your separate list.