Many programming languages have a "remainder" operator which may be used as a modulus operator when both operands are positive; said operator is often called the "modulus" operator, because that is its primary use. Languages generally have such an operator because many hardware platforms' division hardware automatically supply a remainder when performing a division, and computing a remainder or modulus via any other means would be much more difficult.
I don't know the history of hardware support for signed division; many processors have for years provided hardware that can automatically perform signed division subject to the rule that if a/b yields (q,r), then -a/b or a/-b will yield (-q,-r), but I'm not sure of the use cases where division using that rule is particularly helpful. In almost every case where I've used integer division or "modulus" operations on negative values, I've wanted round-toward-negative-infinity on the division and a true modulus operation (such that (a+b)/b would always equal (a/b)+1 and (a+b)%b would always equal a%b.). Because the operators don't work that way, it's necessary to test the sign of the dividend and use different code when it's negative--essentially negating any benefit from having a signed divide instruction in the first place. I'm curious for what purposes the signed-division support in hardware is actually useful.
Returning to the original question, the modulus operator is often useful in situations where certain things are supposed to happen on a periodic basis, either in space (e.g. graphical coordinates) or in time. For example, if one wants to have an event happen every 15 seconds, the time until the next event will be 15-((time_now - time_of_an_occurrence) % 15), assuming
time_of_an_occurrence is not greater than
time_of_an_occurrence were greater than
time_now, a modulus operator could continue to use the same formula provided the subtraction didn't overflow, but the remainder operator will require a different formula.