It's only usefull IF you do error checking.
Most people use the @ sign as the magic wand to make all errors go away.
It does nothing for error checking, it just doesn't tell you when errors happen.
It's only use is if like you say, you have proper error checking and PHP's standard error messages are interfering:
Bad:
$db_connection_id=@mysql_connect();
Good:
if ($db_connection_id=@mysql_connect())
{
it worked
}
else
{
echo "Could not connect to database server";
};