The constraint distribution in nonholonomic mechanics has a double role. On the one hand, it is a kinematic constraint, that is, it is a restriction on the motion itself. On the other hand, it is also a restriction on the allowed variations when using D'Alembert's principle to derive the equations of motion. We will show that many systems of physical interest where D'Alembert's principle does not apply can be conveniently modeled within the general idea of the principle of virtual work by the introduction of both kinematic constraints and variational constraints as being independent entities. This includes, for example, elastic rolling bodies and pneumatic tires. Also, D'Alembert's principle and Chetaev's principle fall into this scheme. We...