Algo curiso é que "Gambiarra" é algo totalmente brasileiro. No Inglês não existe nada parecido, tem o workaround e o hack e ambos são para nos gambiarras. Isso na minha opinião implica que existem gambiarras boas e ruims.
Eu penso que a essência da gambiarra é encontrar soluções improvisadas para problemas, utilizando de meios que não foram originalmente projetados para tal finalidade.
Muitas vezes, as gambiarras são necessárias, apenas por limitação de tempo. Neste caso, claro deveriam ser soluções temporarias e substituidas. No entanto, penso que em outros casos as gambiarras podem ser necessárias por outros motivos, como é caso do fast square root e do TypeScript e neste elas podem ser a solução mais elegante e não a mais tosca!