In our ever changing distributed world, there are lots of ways for applications and services to communicate. Which means there are lots of ways to break them as they inevitably evolve.
Good tips for backwards and forwards compatibility in distributed systems from the team at StackOverflow.