Complex event recognition (CER) applications exhibit various types of uncertainty, ranging from incomplete and erroneous data streams to imperfect complex event patterns. We review CER techniques that handle, to some extent, uncertainty. We examine techniques based on automata, probabilistic graphical models, and first-order logic, which are the most common ones, and approaches based on Petri nets and grammars, which are less frequently used. Several limitations are identified with respect to the employed languages, their probabilistic models, and their performance, as compared to the purely deterministic cases. Based on those limitations, we highlight promising directions for future work.