Are there any limitations on how many products Drupal Commerce can handle?
This question isn't really answerable, since so much depends on how you're using that product data and what your product architecture is. For example, how complex are your product attributes, what is the catalog browsing experience like, etc. You'll do better using a Solr index for your product catalog navigation and search than Views. You may need to consider remote file storage for product images. Things like that can't really be answered in the abstract.
When doing load testing at millions of SKUs (yep, we've done that), the biggest limiting factor was throughput for automated updates. At that scale, you aren't going to have people sitting at a desk keeping product data up to date. It's going to come from external systems, and those systems may need to rapidly update broad swathes of the product catalog on a regular basis.
I see in your comments above you're dealing with 10s of thousands of products. You won't have any issues, but I still may look at using something other than Feeds (i.e. Migrate or a bespoke module) to keep your product data up to date.
Interesting question. The major limiting factor for any Drupal Installation is server resources. If you have unlimited budget, it's safe to say you can have unlimited everything. There are upper limits to the architecture, but it's probably a limitation of database structure, that can be avoided by using a different kind of database.
For Drupal Commerce, the biggest limiting factor in Drupal 7 is usually not number of products (one of the companies I've worked with in the past did some tests with millions of products, and it worked just fine), but it is number and frequency of orders. A really busy ecommerce site is dealing with thousands of orders per hour.
I've personally seen tuned Commerce installations that can handle that kind of traffic at peak times and not crash. It takes a very dedicated team to scale any resource like Drupal Commerce to such heights.