I think we should stick to schema.org wherever possible or practical.
But OSM does currently not, because:
a) schema.org is often impractical, and to loosely specified.
b) noone really has done a comparision and synchronisation of the different “tagging schemes” if OSM and schema.org yet - which is a pity (and worth a research topic!)!
Two examples, where the current OSM spec is more practical than schema.org:
http://wiki.openstreetmap.org/wiki/Key:addr (this is the better link @josef should refer to)
schema.org does not consider the different methods addresses are used in different parts of the world.
- e.g. the addr:state is mandatory in the US, but not in most European countries.
- it is a wrong assumption, that addr:street is used globally. E.g. in some Asian countries, buildings are referred to the block and not to a street. Also in Austria, on very small villages where no street names exist yet, the address Hinterlobming 32 refers to the village name (addr:hamlet) and not to the street.
- also there are e.g. addr:district, addr:suburb, addr:quarter which are used locally missing in schema.org
Another example where I would use the OSM schema over schema.org. There are also graphical editors, see this thread.