Beh , non sono mica la stessa cosa. Le animazioni CCS3 le applichi agli elementi htlm ( div , p , span , ecc... )
Il canvas , che è anch'esso un elemento html, è un'area "grafica programmabile" tramite javascript ma ha tutta una sua sintassi che va studiata ( " abbastanza semplice " anche se può diventare molto complessa visto che ci puoi fare veramente di tutto ).
Se devi creare dinamicamente dei grafici da una serie di dati , beh allora il canvas è la scelta ideale. Se invece , giusto per fare un esempio , vuoi far roterare un <div> o animare il suo movimento da una zona dello schermo ad un'altra , devi usare necesariamente il CSS3 o il javascript.