The reasons for poor suction will be one or more of the following:
Blockage in cleaning head
Blockage in hose
Split in hose or cleaning head letting air in
Blocked dust bag
Dirty and clogged internal filters
Gap in external case allowing air to get in where it shouldn't.
Defective and slow running motor. (Rare)
Run the machine - Disconnect the hose and cover the hole with your hand. You should be able to feel the force of the suction - the motor will speed up (off load with much less air to shift).
If this happens then look to the hose for a solution - otherwise look to the body of the machine.
Peccavi, April 2013