EC2 is absolutely low cast for small use cases but for big use cases, the maintenance and enhancement cost will be more in future. Also it will be a lot of engineering work/cost when you try to implement such kind of features
1. Auto-scaling : add the instances on run-time as per the load. Distributing load and creating and maintaining such type of infrastructure will be very costly
2. Multi Model Server : If you want to merge multiple endpoints so you can use your infra on full potential will be not easy
3. Versioning and Data Management : If you want to version your model accurately, manage their source code with data, it will not be easy in EC2 instances
4. Model Training Cycle : If you want to crate automatic model training cycle based on data receive, you need to create complete workflow which is very easy in Sagemaker
5. Incremental Learning or Transfer Learning : If you want to do model learning or transfer learning kind things, it will be hard to maintain on EC2 and it will be costly too
6. Elastic Inference : To speed-up your model performance in case of deep learning and reduce latency, this is out of the box functionality, which is costly in case of EC2, both development and then running cost
7. DevOps Integration : Sagemaker is giving out of the box CLI feature for DevOps integration which you need to develop for EC2 instances
I still feel, for small applications, Sagemaker 2-3 times costly as it charge per hour but you can use Sagemaker for batch process like up the instance once, do all the predictions for your permutations, store it in database and use it for serving and for bigger applications, use it as real time predictor.