Because `one()` throws an exception if nothing or multiple rows found, whereas `limit(1).first()` returns `None`.