The utilization of Decision Support Systems (DSS) in complex dynamic environments leads the human operator almost inevitably to having to face several types of uncertainties. Thus it is essential for system designers to clearly understand the different types of uncertainties that could exist in human-machine systems of complex environments, to know their impacts on the operator's trust in the systems and decision-making process, and to have guidelines on how to present uncertain information on user interfaces. It is also essential for them to have an overview of the different stages, levels, and types of system automation, and to know their possible impacts on the creation of different types of uncertainties. This paper investigates these topics and aim at helping researchers and practitioners to deal with uncertainties in complex environments.