Two SEO terms that are frequently confused are indexing and ranking.
Indexing means that Google is aware that a page exists. That's a purely mechanical process of Google finding a page and making an entry in their database for it.
Ranking means that the page shows up in the search results for a specific term like "Red Shirt". That means your page has to be better than everyone other page Google has ever found about "Red Shirt".
Indexing is a yes/no thing. A page is either indexed or it isn't.
Ranking is more complex because your page is ranked for different search terms and at different positions for each term. A page ranked #4 for "Red Shirt" might be #2,867,540th for "Tux" and not at all for "Dog food".
Effort-wise, the indexing part is relatively easy and straightforward.
Ranking on the other hand is hard and can take months or years of work to do well on. Most of the time when you hire an SEO consultant, they're working on improving the rankings part. But every improvement made in ranking adds up and can translate to more traffic. That's why getting on the first page or even the #1 to #3 spots are such accomplishments.
Because of that, the majority of your effort and SEO resources are going to go to improving ranking.
Most Shopify themes don't quality for Google's Rich Results so they lose out on highly visible SEO enhancements.
JSON-LD for SEO provides high-quality data that will let your store qualify for Rich Results. Often times faster than the industry averages.