I'm having a problem with "flooded" islands when converting OSM natural=water data to shapefiles and opening it in qgis. It doesn't happen consistently; as you can see from the attached screenshot, some islands are fine, but others initially show up, then get covered by the parent water polygon.
Here's how I'm generating my data:
osmconvert north-america-latest.osm.pbf -b=-80,40,-70,50 --complete-ways --complex-ways -o=w080n40.o5m
osmfilter w080n40.o5m --keep= --keep-ways="natural=water" --keep-relations="natural=water" -o=water.osm
ogr2ogr -skipfailures -f 'ESRI Shapefile' water water.osm
Then I open the resulting polygon layer in qgis, with the result illustrated.
natural=water
, you might miss islands of different landuse that are inner rings in water multipolygons.