Imperfect information is a very general term that comprises different types of information, such as uncertain, vague, fuzzy, inconsistent, possibilistic, probabilistic, partially or totally incomplete information [2]. In the literature of knowledge representation we find a different formal model for each one of these distinct types. For example, annotated logic is a formal model to represent inconsistent information. Annotated logics are non-classical logics introduced in [20] as a logic programming theory. They were proved to be paraconsistent. Based on [5], we present in this work the annotated logic programming theory and some of its applications in Artificial Intelligence (AI). We present it as a formalism to reason with inconsistent information and investigate its possibility to represent other types of imperfect information, such as possibilistic and non-monotonic reasoning. Our main goal is to verify and confirm the importance of annotated logics as a tool for developing knowledge-based and automated reasoning systems in AI.