La @ delante de una función evita los famosos warning y declaraciones de error por parte del servidor. Tienes que ponerla delante de cada sentencia que quieras que no muestre el mensaje de error.
No se si tendrá algún otro uso, pero creo que es el único.
Hay varias formas de evitar los errores o configurar el servidor para una buena depuración (como linkear los errores a la referencia correspondiente).
Esto lo puedes configurar en el php.ini, pero claro no siempre tenemos acceso a él, o bien con la función error_reporting().
Espero que te haya sido de utilidad.
Altareum.