Я думаю, что прямые манипуляции с web.config могут быть сложными, если у вас несколько серверов. Если вся ваша установка выполняется только на нескольких серверах, это может быть проще, чем пытаться вносить простые изменения web.config с помощью кода.
Плюс, манипулирование web.config напрямую гарантирует, что у вас есть полный web.config в вашей системе контроля версий. Если вы используете API для внесения изменений, все, что у вас будет в системе контроля версий, это набор кода на C #, который, как вы надеетесь, не содержит ошибок!