After reading this answer, it looks like it is a best practice to use smart pointers as much as possible, and to reduce the usage of \"normal\"/raw pointers to minimum.
It is true. I can not see the benefits of raw pointers over smart pointers, especially in a complex project.
For tempory and lightweight usage, raw pointers are fine though.