The use of multiple antennas at both base stations and mobile stations (multiple-input-multiple-output (MIMO)) increases the spectral efficiency and reliability in wireless communications. Multiuser MIMO communication, especially the point-to-multipoint (downlink) transmission is substantially more complicated compared with a single-user communication environment. The focus of this work is the joint design of transmitters and receivers for downlink transmission in multiuser MIMO systems. Various optimization problems with respect to minimum mean square error (MMSE) and rate are investigated. Iterative algorithms for these problems are derived based on different techniques, e.g., MSE duality, semidefinite programming, geometric programming, second order cone programming, etc. Besides MIMO systems, the scenarios of multicasting with MIMO links and base station coordination in network MIMO systems are also studied. This work exposes the most recent developments of MIMO techniques and should be useful to Scientific researchers and PhD students who are interested in signal processing for MIMO communications.