How to Add OSM Layer to QGIS 2.X
March 2015 update with QGIS 2.8.1 (Wien)
Web>Openlayers plugin
For Raster images [after fetching python plugins] use the OpenLayers Plugin
For Vector (editable layers) use the OpenStreetMap Plugin
use Download OSM Data option [OSM server limits large downloads] - zoom into an area of interest first there is some info when using the plugin that the area is ok to download - this will take a minute or so to process.
To edit save as shapefile (load this into QGIS) and toggle editing
This is an old question/answer but it pops out in the Google search and it is worthwhile adding new updates as in this answer. I would comment but I don't have enough reputation.
There is no need for an extra plugin, you can use the XYZ Tile Server.
The URL for OpenStreetMap is:
http://tile.openstreetmap.org/{z}/{x}/{y}.png
Update for QGIS3
QGIS3 comes with a direct link to OpenStreetMap under Tile Server (XYZ), just double-click on it:
Check out this Q/A link below.
How to get OpenStreetMap as a raster layer in QGIS