When should you use a service bus vs. a web service call? When should you use the Distributed Transaction Coordinator? Should you use CQRS? Should you build Microservices?
Take a look under the hood of your network stack. What promises does it make? What promises can it actually keep?