Es necesario siempre que desee enviar datos al servidor que tengan caracteres que no se puedan representar en ASCII puro, como 'ñ' u 'ö'.
Eso si la instancia de MySQL no está configurada para esperar la codificación UTF-8 de forma predeterminada desde las conexiones del cliente (muchas lo están, según su ubicación y plataforma).
Lea http://www.joelonsoftware.com/articles/Unicode.html en caso de que no sepa cómo funciona Unicode.
Lea Si se debe usar "SET NAMES" para ver las alternativas de SET NAMES y de qué se trata exactamente.