Currying is a core concept of functional programming and a useful tool for any developer's toolbelt. In this lesson, John walks through the definition of currying and its practical usage.
Fully answering your question is beyond the scope a of single comment, but currying is a core concept of functional programming. Writing in a functional-style is applicable to everything in your day-to-day. Instead of writing monolithic functions that don't return anything, imagine writing your application in a bunch of tiny functions each returning a something that you can use to compose together more complex functions.
It's a complete change in the way of thinking about writing code, so don't worry if it doesn't click right away.