The periodic CQI report is carried by PUCCH but if the UE needs to send UL data in the same subframe as the scheduled periodic CQI report, the periodic CQI report will use the PUSCH, together with UL data transmission. This is because a UE can't transmit on both PUCCH and PUSCH simultaneously. In this case, the periodic PUCCH resource will be idle.
Since periodic CQI report brings in the "always on" signaling overhead, the report granularity is relatively rough. In order to get more detail CQI report, the eNB can trigger aperiodic CQI report when needed. The aperiodic CQI report is transmitted on PUSCH, together with UL data or alone.