Cycles is a raycast-based render engine. It shoots thousands of rays from the camera and bounces them off surfaces randomly to compute the lighting. In order to produce a less-noisy result, you may increase the samples of your render:
This boosts the number of times it shoots rays from the same camera pixels. Since a surface (unless it's a mirror) scatters light, each time a ray bounces off a surface it must go in a random direction. Additional samples help average out this result by bouncing it multiple times per pixel and blending the results.
However, in the end, your result will always be noisy to some degree. Boosting the samples is a good way to avoid this, though.
Another way to avoid noise is to change the rendering method to Blender Internal or a third party renderer:
This is not a raycast renderer, so it simulates lighting in a non-photo-realistic (NPR) way. However, please note that development for the Blender internal renderer has ceased and Blender is generally transitioning to Cycles.
If you are interested in learning more about how Cycles or raycast renderers work, please take a look at my question:
Why Can't Cycles Cast 1 Ray per Image Pixel, Instead Renders Progressively to Infinity?
If you would like to learn why some areas of an image are more noisy than others, which may help you avoid especially noisy areas, see my other question: What is the Reason Cycles Creates Incorrectly Colored/Firefly Artifact Pixels?