Which[, , , , ... ] evaluates each of the in turn, returning the value of the corresponding to the first one that yields True.
Example: Which[1==2, x, 1==1, y] .
Which has attribute HoldAll.
If any of the evaluated by Which give neither True nor False, then a Which object containing these remaining elements is returned unevaluated.
You can make Which return a "default value" by taking the last to be True.
If all the evaluate to False, Which returns Null.
See The Mathematica Book: Section 2.5.8.
See also: Switch, If.