Emails are in their own isolated packages. If i get an email saying the build broke, there is no easy way to check the last time it happened. I wouldn't be able to glance at the last few messages and see that the build breaks every time "X" commits or the tests fail every monday. I can't easily get context on what someone was doing when it broke.
With something like slack it's all right there. The last 3 alerts, maybe a few messages from devs quickly explaining what happened (or preemptively saying that the build is going to break, and it's okay), someone taking responsibility and saying that they will handle the fix, etc...
It's just nicer.