dataテーブルのidカラムが1~9まで埋まっているものとしよう。
このとき、id = 5のものにアクセスしようとすると、
Data.find(5) # => datasテーブルの5番目のDataモデルインスタンス
Data.find_by_id(5) # => datasテーブルの5番目のDataモデルインスタンス
Data.find(5) == Data.find_by_id(5) # => true
同じものが返ってきます。
一方、id = 10のデータにアクセスしようとすると、そんなインスタンスはなく、
Data.find(10) # => # ActiveRecordNotFound
Data.find_by_id(10) # => nil
返ってくるものが違うんですね!