The non-technical reason is companies prefer to keep the majority of the advertising money instead of pay users with it. Users don't complain and don't try alternative services.