The main reasons not to use STL are that:
- Your C++ implementation is old and has horrible template support.
- You can’t use dynamic memory allocation.
Both are very uncommon requirements in practice.
For a longterm project rolling your own containers that overlap in functionality with the STL is just going to increase maintenance and development costs.