A page to add basic product details like product name, price, description, sale price, sku, tax, seo title, seo description, images, images order, color and size options.
Create logical categories based on product type, vendor, price etc.
Manage and customize pages like home page, contact page, various other pages like terms, payment and delivery options, returns and refunds etc.
Payment gateway account to collect payment from customers on your website.
Well this is not a compulsion. You can do online business with payment options as “Bank deposit/NEFT” or Cash on delivery option too.
Again, this is not a must. You can still manage to send products to customers by manually going to India post or a courier partner counter.
Daily pickups and customer return management becomes easy by tying up with a delivery partner(s).
Shipping/delivery charges calculation
Customer are happy to see email notification since they can store it for future purposes like order tracking or reference the order for product details
Misc notifications like
A page to track order's current status and estimate delivery date. I am a shopper myself and there are a few people who love tracking their order. So for those this page is a must, else it leads to a bad experience.