1. Писать или не писать свой код - зависит от финансов заказчика. И от того насколько он въедливый до идеальности результата, насколько уникальны его требования.
2. Размер магазина никак не влияет на выбор CMS. Для современных баз данных все равно сколько у вас товара - 1000 или 10000000 наименований.
3. На выбор влияют только требуемые фичи, а не размер. Для большинства случаев готовые решения - вполне хороши.