TBB is only one of several viable (according to your application and programming language) multi-core programming methods. It combines the ideas of STL and OpenMP to provide an interface to a threading library to be linked to compiled code. Like those, it aims to relieve the programmer of the details of making the application work with each compiler and OS combination.
Language standards dictate the extent to which the programming language supports multi-programming (very little, for C++ itself). The division of responsibility between a library such as TBB, the underlying threading library, and the OS, is negotiable to some extent, but cannot normally be the concern of the software developer.