Основным преимуществом кучи является то, что вы можете динамически размещать на ней. Если вы не знаете требуемый размер переменной: сложите его в кучу.
Если ваша программа проста, вам может не потребоваться выделять переменную в куче; но выбор не зависит от сложности программы, это зависит от необходимости переменной.
Если вам нужно получить доступ к переменной / изменить ее на протяжении всего рабочего процесса с помощью нескольких функций, то это лучше в куче. Вы освободите его, когда он вам больше не понадобится.
Если переменная является просто структурой опций или счетчиком, стек идеально подходит для нее.