First note that all of these technical terms are subject to distortion by Marketing, so sometimes you have to read between the lines.
The term switch refers to a layer-2 device, so it is forwarding on layer-2 info. On an Ethernet this would be the 48 bit MAC. With MPLS it would be the Label. The term router officially refers to a layer-3 device, so it is forwarding on layer-3 info (the 32/128 bit IPv[46] address, unless you have a very strange network). That's the primary difference between the terms.
How each device actually implements that forwarding is partly controlled by the protocols defined to exchange the relevant data, and the engineering choices made by the device designer, and is mostly opaque to the outside. So, to get more detail on how a particular product does it's thing, you need to get more detail from the manufacturer than the legal department wants them to divulge, so under NDA (Non-Disclosure Agreement). Unless the device you care about is just a general purpose computer running Free or Open Source Software, in which case, you look at the source.
It means that in a given interval all traffic assigned a lower value will be transmitted before traffic assigned a higher value. If in that interval the amount of traffic assigned the lower value exhausts the available buffer then the traffic assigned higher values will be dropped.
Edit to Add: Yes, this is absolutely a form of priority queueing.
Best Answer
Good question. The 5 second, and facetious answer is that OpenSwitch needs real wires and ports whereas OpenVswitch doesn't.
In more detail: OpenSwitch is switching software that you ultimately deploy onto a physical switch. Think of it as the equivalent of IOS or CatOS or JunOS. It's going to be controlling some real hardware ports. OpenVSwitch, on the other hand, is switching software that you deploy on a virtualized or cloud layer. There are no hardware ports on this switch: its representation is entirely in software. For example, when you have two virtual machines running on a compute hosts, talking to one another, their traffic will be crossing a virtual switch.
In even more detail: OpenSwitch expects to use ONIE hardware whereas OpenvSwitch only cares that you have some virtualization plumbing.
There is a lot of work going into SDN and virtualized switching right now. For example, imagine that you could control the ONIE device by software based on workloads and conditions. This is your SDN play. In another domain: how do you get the best possible performance out of a software vswitch when it's running in an environment where the host CPU has to service a bunch of competing tasks? It's a very interesting area.