Is it a bad idea for a view to specify nodes by node id? I'm inheriting a project which contains a view that specifies what to include by node id.  This initially strikes me as a terrible idea, but it could be that in Drupal it's not as brittle as it would be if done in other frameworks that I'm more familiar with.

Is this considered an acceptable practice within the Drupal community?  If so, why is this not as dangerous as it sounds to me?
It really depends what the View is for to be honest.  

Is the node ID ever likely to change?  Is it something that can't be done with entity view modes instead?

I've had a couple of occasions where I'm filtering a View on a specific node ID, but it's mainly because it's a use case that doesn't really require the massive overhead of something like Display Suite (and I don't use Panels - for no other reason that I don't really like the markup it produces).  

If the node ID is GUARANTEED to stay the same, then it might not be disastrous.  However if the node ID is ever likely to change (through content migration for example) then it WILL break.  It also means that the client won't be able to fix it themselves unless you show them how to use Views and give them access to the Views UI.