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!
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