The freely available dumps to SHP are not up -to-date or have insufficient details and my several efforts to produce an SHP myself have failed. I'd like to be able to produce a shp dump that contains only selected "layer" for given country.
I think OGR (gdal.org) has an OSM driver that you can install optionally to go from OSM -> SHP. Problem is that SHP and OSM are not 100% compatible formats, so data massaging may be necessary in many cases.
Also, Geofabrik.de will export it for you for a fee.
I tried QGis 2 with built-in OSM support but I was unable to properly download data through it. Perhaps I was doing something wrong, I'd love to read a good tutorial on this. If you happen to find one, let me know!
It's been a while since I played with OSM data. OGR 1.10.0 supports OSM, and you can grab it from various sources (gdal.org or gisinternals.com/sdk/ if you want latest windows binaries).
Converting OSM -> SHP should be relatively similar to other formats, and there are a good number of tutorials out there for using OGR. Here's their page on OSM: http://www.gdal.org/ogr/drv_osm.html