The problem with your data is that you have one line type layer, and the rest are polygon layers. You can merge data of one type, but not mixed (at least not with shapefiles).
So you have to do it by editing the geojson file, or leave it separated type-wise. QGIS is not able to work with mixed geometries, so you have to split a mixed-geometry input file anyway (like gpx or kml drivers do).
EDIT
Improved answer with new data:
Now you have only polgon data, which makes a union possible without mixed geometry. But your admin shapefile has no prj file. That might cause the crash, see http://hub.qgis.org/issues/5962. Union does it better, but makes 2239 objects out of 83 admin area objects and 892 water areas.
What you can do is clear the union file, and copy and paste the elements of the two layers again into the output layer. The union file still has all attribute fields from both datasets, so copying works. In result you only have 975 elements.
Or copy and rename the .prj file from the water areas, which has the same projection. Then merging shapefiles works, with the expected 975 elements.
Try NHGIS, which allows you to get blocks for all states.
Set the filters as I have done in the attached screen shot.
Best Answer
To isolate and work with only a certain soil type you want to open your attribute table (right click on the layer in the layers panel and and open the attribute table)
Then use the select by expression button: see pic below
You will want to use the expression
"SOILNAME" LIKE '%SHELBY%' to select all soils with the name SHELBY in the field of SOILNAME
If you wanted to select all records with SHELBY in the SOILNAME field and with a value of 1 in the SOILS_01_ field (assuming that is an INT field and not a text field) you would use:
"SOILNAME" LIKE '%SHELBY%' AND "SOILS_01_" = 1
Once you have selected your records, go back out to the Layers Properties (where you opened the attribute table) and select save layer as. Choose options similar to the ones below:
You want to save only selected features, and then load that layer onto the map. Once you have done that you will have a result like mine below (my result I used a Select by Expression of "PTMAT_DESC" LIKE '%Loess%' to show me only records where the field PTMAT_DESC has a value of anything containing the characters Loess . The final result is shown below.
Once you have that data you can use what Whyzar mentions to improve your symbology and how you are visualizing your data.
Here is a good tutorial on select by expression:
http://maps.cga.harvard.edu/qgis/wkshop/query.php
QGIS Select by Expression