Understanding Angular's @ Binding

I’ve seen people use @-binding wrong, not understanding how exactly it works and when you should (or shouldn’t) use it. There are also situations where it makes things more explicit and clearer. Let’s dig in!