Using callbacks like before_save, after_destroy, etc. in your rails models is a very important way to ensure that the things you assume about your data are actually enforced.
If you return false, and halt the callback chain, be sure to include error messages via errors.add("..."), so the caller knows why it failed.
Class User < ActiveRecord::Base
success = some_other_subsystem.send("new user!")
errors.add("couldn't update the subsystem")
This is a pretty contrived example, but you get the idea.