Если вы разрабатываете на нескольких платформах одновременно, вы получаете возможность использовать различные инструменты. Например, однажды у меня была перезапись памяти (я все еще клянусь, мне не нужны +1 для нулевого байта!), Что приводит к аварийному завершению «free». Я довел код до скорости в Windows и нашел перезапись примерно через 1 минуту с помощью Rational Purify ... мне потребовалась неделя под Linux на его поиск (валгринд мог бы его найти ... но я не знал о это в самый раз).
Разные компиляторы на одной и той же или разных платформах, на мой взгляд, обязательны, так как каждый компилятор будет сообщать о разных вещах, и иногда отчет одного из компиляторов об ошибке будет бессмысленным, но другой компилятор делает это очень ясно.
Использование таких вещей, как несколько баз данных, при разработке означает, что у вас гораздо меньше шансов привязать себя к конкретной базе данных, что означает, что вы можете поменять базу данных, если есть причина для этого. Если вы хотите интегрировать что-то, что использует Oracle, в существующую инфраструктуру, которая, например, использует SQL Server, это действительно может быть отстой - гораздо лучше, если части Oracle или SQL Server можно перенести в другую систему (я знаю, что в некоторых местах есть 3 разных базы данных для своих финансовых систем ... ick).
В целом, постоянное развитие для двух или трех вещей означает, что вероятность того, что вы найдете ошибки, лучше, а вероятность более гибкой системы - лучше.
С другой стороны, все это может потребовать времени и усилий, которые в настоящий момент рассматриваются как ненужные расходы.