Showing details of a product on the listing/index page VS showing it on a separate page

Lets say you have an index page where you list all your products. When it comes to showing details of a product I have seen some interesting variations.

Housing.com shows details(e.g, this link) on the listings/index page while Airbnb shows details of a house on a separate page(e.g, this link).

I have heard the argument that a separate details page is not advisable because the user has to go back and select another product to see details and keep doing this. Which can countered by adding a cross-sell to similar products. How valid is it?

The flip side argument for showing details on the same list page in some component(a modal or a sliding container etc) is that is maintains context, allows the user to quickly switch products to view details. While the counter to that is it restricts the size that you have to fit everything. And even though you might be able to cramp all data somehow - a separate page has its own credibility and feels like it has a lot to offer which its counterpart will not. Any thoughts?

I am interested to know if there is any pattern users follow in viewing details of products. In what cases it is linear(next-previous) or random or something else?

I would like to find out some online research or case study or anything related to this?

If I only consider a domain, lets say Houses/Real estate, which one makes more sense?

What difference does it make? Pros and cons of each?