there's no functional difference (ie they both echo an error message and stop execution if the statement fails). There may be a very slight timing difference, but I doubt that too.
it's just a bit clearer and shorter to do
$cats = mysql_query( 'SELECT ID, Name FROM Categories' )
or die( '<p>Error retrieving Categories from database!<br />');