using-directives

¿Por qué" usar std de espacio de nombres " se considera una mala práctica?

Otros me han dicho que escribir using namespace std en código es incorrecto, y que debería usar std::cout y std::cin directam ... bles ambiguas (variables que comparten el mismo nombre que una función en el espacio de nombres std)? ¿Afecta al rendimiento?