I disagree HopeDagger, the majority of the projects I get into are project I know nothing about to begin with. Not only from the technical/algorithmical/programming aspect but I don’t even know the IDE/language that is needed to be used.
You do need to know how to break down your problem and how to gather/learn the subject.

+ Doing what you always do isn’t fun/challenging, and you gain nothing (knowledge) after the project is completed.
I agree that if a person wants to code a game for fun, and knows only to code 2D game, the bar shouldn’t be half-life 2 3D engine. (but it CAN be 3D)