A pattern is a word that consists of variables and terminal symbols. The pattern language that is generated by a pattern A is the set of all terminal words that can be obtained from A by uniform replacement of variables with terminal words. For example, the pattern A = xaxa (where x is a variable, and a is a terminal symbol) generates the set of all squares that end on a. Due to their simple definition, pattern languages have various connections to a wide range of other areas in computer science and mathematics. On the other hand, many of the canonical questions are surprisingly difficult for pattern languages. The present thesis discusses various aspects of the inclusion problem of pattern languages. It can be divided in two parts. The first one examines the decidability of the inclusion problem under various restrictions, and the related question of minimizability of regular expressions with repetition operators. The second part deals with descriptive patterns, the smallest generalizations of arbitrary languages through pattern languages ("smallest" with respect to the inclusion relation). Main topics are the existence and the discoverability of descriptive patterns.