Por que" usar std de espaço de nomes " é considerado uma má prática?

outros disseram-me que escrever using namespace std em código é errado, e que devia usar std::cout e std::cin directame ... ariáveis ambíguas (variáveis que compartilham o mesmo nome como uma função no namespace std)? Tem impacto no desempenho?