Tech-sharing "does happen" too. Your "dreams and realities" quote applies in both cases.
Of course, we shared tech on MLB2K in LA with the NBA2K guys in San Fran. It would have been impossible to meet the one year schedule otherwise. But in the end we still each had to create mountains of new code, tools, scrips and art all from scratch. My original posts are to attack the notion of oh, we can just take the KZ2 engine, recompile our game with it and presto it all works. I can't emphasize enough how far from the realm of reality such a scenario actually is. Sometimes we take tech, physical code, libraries or whatever from others and use it, other times we take ideas and code it all ourselves. But for the most part, you still see legions of coders making new stuff.
Plus...sharing is far from headache free as I'm sure you know. I'll give an example without naming the studio or product in question. There was "tech" we took from a sister company which was intended to save us time. At first it did. I took it, integrated it into our product, and we were all merry. Then a new drop came of said tech. I took it, integrated it, and it broke everything. Spent days figuring out the issue, fixed it and we were merry again. New drop, new integration, new problems again. Rinse and repeat this scenario multiple times. Eventually I got so fed up I broke off and just wrote the damn thing myself.
The problem in the end is that these other companies, be it a sister company, one that owns you or whatever, are not coding these technologies for you. They are making it first and foremost for their product, and then providing it to others as a convenience at their own risk. What this means is that you can expect future versions of said tech to mysteriously break your product because revisions will be made that suit the original owner of the code and their product, not you. Throw in the fact that coders are physically either incapable or unwilling to document changes, revisions, etc, and you have nightmare scenarios that can develop, all from trying to save time by sharing code.
So yeah we share stuff, but it's far from "oh take their thingy, slap it in your code and off you go". Plus as has been said before, some tech may benefit game 'x' yet have no impact on game 'y'. Take Edge. It's talked about as if anyone can just take it, quickly throw it into their game and double their frame rate. As you know, on some games Edge will make zero difference. None, zero, nada. It just depends. Likewise with engines. I was at a company once that took significant time and money to port their game from their own in house engine to another 'well known' engine that was licensed, and when complete the resulting frame rate was worse! Talk about a waste of time and money. A painful lesson, but in the end it's not a huge surprise. Said licensed engine was ultimately not built for our needs but for someone else's.
Anyways I probably sound like a broken record here, but the point is to emphasize that a lot of this tech is tuned to solve very specific issues and problems, and sharing them is not only hard, but sometimes simply not feasible, or would yield a worse result. Engines are a prime example of this, I've seem more than once a game run better on an in house engine compared to the 'engine du jour' available for licensing.