The consistent stack doesn't mean we are not conscious about the other options. In fact we have proven records to build software using them as well:
But the stack which I highlighted here is capable enough to manage 90% of requirements.
The reason we believe in these packages is most of the time over-engineering kills the real product features and we end up wasting so much time and efforts in deciding only development stacks. On the contrary, which is never needed until the product proves the capability of solving the end user problem. Even though architecture should be solid enough to be extendible gracefully without doing re-engineering. That is why the provided stacks keep the perfect balance between ready to use and extensibility.