Вы должны написать все свои приложения с логикой в отдельном слое, чтобы вы могли легко написать веб-интерфейс или интерфейс winforms в зависимости от изменения бизнес-решений.
На более серьезной ноте. Вы должны создать веб-приложение, когда вам нужно, чтобы большое количество пользователей обращалось к многим общим данным и изменяло их. Вы должны создавать настольные приложения, когда очень мало общих данных или когда обмен данными достаточно прост, чтобы отправлять файлы по электронной почте туда и обратно достаточно. Веб-приложения, как правило, намного сложнее понять, поэтому вам нужно выполнять дополнительную работу только в случае необходимости. Это намного больше работы для правильного программирования, и это намного больше работы для поддержки сервера приложений и базы данных. Тем не менее, веб-приложения мгновенно обновляются, поэтому вы можете начать с чего-то небольшого, и каждый, кто использует приложение, может получить новые функции и исправления по мере их завершения. Таким образом, вы должны решить, что является более важным. Есть несколько компромиссов, независимо от того, какой вы выберете.