There are several main approaches to string processing. One such approach is the labeling paradigm \cite{karp-miller-rosenberg}, which is based on assigning labels to some of the substrings of a given string. If these labels are chosen consistently, they can enable fast comparisons of substrings. Until the first optimal parallel algorithm for suffix tree construction was given in \cite{sahinalp-vishkin-94}, the labeling paradigm was considered not to be competitive with other approaches. In this paper we show that, this general method is also useful for several central problems in the area of string processing:\\ $\bullet$ Approximate String Matching,\\ $\bullet$ Dynamic Dictionary Matching,\\ $\bullet$ Dynamic Text Indexing. The approximate string matching problem deals with finding all substrings of a text which match a pattern ``approximately'', i.e., with at most $m$ differences. The differences can be in the form of inserted, deleted, or replaced characters. The text indexing problem deals with finding all occurrences of a pattern in a text, after the text is preprocessed. In the {\it dynamic text indexing} problem, updates to the text in the form of insertions and deletions of substrings are permitted. The dictionary matching problem deals with finding all occurrences of each element of a set of patterns in a text, after the pattern set is preprocessed. In the {\it dynamic dictionary matching} problem, insertions and deletions of patterns to the pattern set are permitted.