I have a small site which stands as a catalog for our products. We have several but similar products ("small", "medium", "big" - each with different specification) Currently each product is in one page but I'm thinking of merge the pages into one long page. What is the best practice in such a case?
Why not both?
Use a single long page to show all products that can be grouped together with thumbnails and/or short descriptions and have that list click through to individual product detail pages with longer descriptions, better images, etc.
It won't work for every type of product catalog but this provides a very good search engine footprint.
Sites with many webpages helps in SEO. Whenever you create a new page in your site, initially google give some PageRank to that page. But the more you create pages, the less you'll get initial PR for each webpage.
Also note that, low quality and duplicate content can invite Google penalty to your website. I know it is not related to that, but I said it because in future you may create too many pages for some SEO advantages.
If products have different specification then it makes sense to keep on different URL, it will help today as well as in future when you do promotion.
I don't know what's in your mind, but when you gonna merge it then there will be no affect in SEO. It is not like you have long webpage so Google love it.
When you link your similar products then it will make more weight on that, as per hilltop algorithm. According to page expert score when there is similar keywords in title and link to it, then it will give more weight. For example "Product XYZ for your AAAA" when link to "Product ABC for your AAAA" then the linked page will get more benefits. PageRank is just link calculation but Google may use many other signals based on links, and I think when two webpages with some similar keywords in title make your Page Expert Score more, heading links gives less weight than title and anchor text links gives less weight than heading.