Magento and Adobe Commerce stores generally have complete, well-structured data and direct database access. The difficulty is not extraction. It is that a decade of configuration has to be reviewed rather than transferred.
Magento models products through attribute sets, so a store commonly carries dozens of attributes per product type, many of them used for filtering, some for display, and a proportion for nothing at all since a project three years ago. Shopify has options, variants and metafields. Mapping between the two is a catalogue design exercise, and doing it faithfully rather than thoughtfully reproduces every abandoned attribute in a new system.
Configurable, bundle, grouped and virtual products are the second theme. Configurable products usually translate to Shopify variants. Bundles and grouped products do not have a direct equivalent, and the right answer depends on whether the bundle is a merchandising device, a pricing device or an inventory device.
Then there are the structures Magento is chosen for in the first place: multiple websites and store views, customer groups with tier pricing, catalogue and cart price rules, and the integrations behind them. Those are the parts of the project that decide whether Shopify, Shopify Plus with B2B, or a different destination is the honest recommendation.