Here are some PROs and CONs I've learned; I own both devices...
Chromecast PRO: works mostly independent of your device - once you start your movie, music, etc, you can go onto other things or even turn off your phone or tablet. CON: works over WIFI only, and requires the controlling device to also be running as WIFI client (so you can't use hotspot mode WIFI on your phone to control a chromecast directly). If you have a phone, a tablet (or laptop, etc) and a chromecast, you can use hotspot mode as the WIFI and the tablet to control the chromecast (ugh)
Miracast PRO: It will display anything you can see on your phone/tablet onto your TV, no special app needed on the phone/tablet (as long as your hardware is new enough). PRO: Allows you to use your unlimited data plan to stream content, without needing a 3rd device, also allows hotspot mode. CON: Your phone or tablet is dedicated to the task at hand, Miracast replaces the HDMI cable, your phone needs to be on and running the app you're watching on TV. CON: Depending on your phone's hardware, you'll need to prop-up your phone "sideways" so the video orientation is correct on the TV.
SlimPort HDMI: This is the cable option, replacing dedicated hdmi ports found on older phones/tablets. It plugs into the USB charging port on your phone, and then you plug an hdmi cable into it. There is also another USB port available for the charger to plug into. It offers the same features and pros/cons as Miracast.