There are a couple differences, but they’re not big:
.createis equivalent to.newfollowed by.save. It’s just more succinct..create!is equivalent to.newfollowed by.save!(throws an error if saving fails). It’s also just a wee bit shorter- I think
.buildis mostly an alias for.new. It works one way in Rails 3 and another way in Rails < 3.x
The most important part, however, is that these methods can be called through an association (has_many, etc.) to automatically link the two models.