Ever since I took my first algorithms course and data structures course during my bachelor's degree I've been intrigued with the different ways one can use and manipulate them to get better, more efficient, more interesting results. Every data structure, every algorithm, has it's own strengths and weaknesses - and every new one I learned is a new addition to my toolkit.
I like solving problems. A question might be theoretically very hard to solve, but when finding a way to solve it, sometimes a brilliant idea or even a simple trick can work wonders and let you get stuff done.