Depending on what software you need to develop and create, there may not always be an off-the-shelf solution that will meet your end goal. On the flip side, the challenge with something completely custom is that you tend to be tied to your developers for life or have a challenging transition period when you want to move away from them, which can affect your businesses operations.
Why is this good?
Having a common language which can run everywhere mitigates the technology risk in custom software, it also opens it up to a bigger range of developers who can effectively work on the application. Both of these technologies are opensource and have frameworks which encourages developers to develop the application in the same manner, hence you can now stay with a developer because they are doing a great job instead of it being to hard to leave.
It also allows for easier updates, maintanence, addition of new functionality and more....think in the realm of 50% savings on all future updates.
We have built and worked on numerous enterprise level AngularJS and NodeJS applications for research firms and communicating with large Telco providers.