In a nutshell patterns are just formalized ways of solving common tasks in various languages. As such there were "design patterns" even before someone coined the term. For every language there are "best practices" and design patterns are really just that - a set of best practices for problems that occur on a regular basis.
One of the main benefits of labeling the patterns is that the shared terminology allows us to talk about abstract concepts.
Obviously design patterns can be misapplied or overused in any given context, but I really fail to see how design patterns as a concept can be a problem.