If you look at the SQL it generates, they both generate a limit:
irb(main):001:0> User.where(name: "schneems").first
User Load (7.9ms) SELECT "users".* FROM "users" WHERE "users"."name" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["name", "schneems"]]
versus
irb(main):002:0> User.where(name: "schneems").limit(1)
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."name" = $1 LIMIT 1 [["name", "schneems"]]
The first
method is understood by the Active Record relation to be a limiting factor