"The computer programmer is a creator of universes for which he alone is responsible. Universes of virtually unlimited complexity can be created in the form of computer programs."
A hacker is by traditional definition the highest form of creator. Not only is a hacker capable of whipping out endless creations leaving only his imagination as the limit. The hacker is also capable of such a level of mastery with his programs and the programs of others that he's capable of making them do things that they weren't created to do.
A hack can be an insult or a high compliment. A nasty work around to make some code work may be frowned upon but called a hack because it takes advantage of mastered knowledge of the program. An implementation of something so interesting and not really done before or often may also be considered a hack.
Not everyone has what it takes to be a hacker. Not to say that not everyone is capable of being a hacker, because anyone is capable of doing anything they have the will to achieve. However, being a hacker requires an abnormal drive and passion. It's not something you can learn in a class and it's not something you can read out of a book. You have to be a natural or driven creator, tinkerer, maker and have mad passion for what you do.