Hybrid organic-inorganic perovskites were first introduced to photovoltaic community in 2009. In subsequent years, the power conversion efficiency has increased from 3.8% to ~20%, leaving dye-sensitized solar cells and bulk-heterojunction solar cells far behind. “Perovskite” is a crystal possessing the same crystal structure as calcium titanate, namely, ABX3. Perovskites have unique properties, like broad absorption spectra, high absorption coefficient, ambipolar charge transport, long exciton lifetime and very low binding energy of exciton. Currently, the architecture of perovskite solar cells has been simplified from meso-structured solar cells to planar-heterojunction solar cells, getting closer to the low-cost, high-efficiency target for practical application. Many innovative researches are pushing the application of this new photovoltaic material to the climax. This review summarizes the working mechanism of perovskite solar cells and expounds several key factors affecting device performance, i.e. components, crystallization and morphology, transport layers, electrode materials and planted bulk-heterojunction. However, we should note that perovskites have some drawbacks impeding its commercialization. Perovskites are sensitive to oxygen and water vapor, making the solar cells unstable in the ambient; it is challenging to prepare large films because the morphology of perovskite film is difficult to control; the use of the toxic metal, lead, will also undermine the credit earned by their outstanding photovoltaic performance. It is very important for us to understand those mechanism and factors affecting device performance, and to find approaches to deal with instability, toxicity, and bad morphology.