People are missing the point of PhysX and the way it is implemented. PhysX can be used to create destructible world just like any other physics engine and it runs as good as any other physics engine on CPU. The special feature of PhysX is it can offloaded to GPU, which no other physics engine can.
Now the question is, should a game be balance assuming there exists GPU to offload, knowing that only systems with Nvidia video card can have such privileges. Game dev won't be stupid enough to exclude all AMD video card user so games won't require a Nvidia video card to run. In fact, I don't think any consoles use Nvidia video card, and Batman AA runs perfectly fine on consoles.
The one thing people hate about console ports is it never max out pc hardwares as consoles are assembled with older hardwares. To fix this, we have skin packs, but that is all. Does skin packs the only tool that can be used to utilize all those extra horse power from a PC? It can only go so far as most pc gamers are still on 1080p res.
Rage tried to utilize these horse power by having huge texture files, then compress it into JPG, and therefore removing details from the original art to allow the game to run. However, you can't compress it so it looks like sh!t on console, so instead it looks good on consoles, but what happens on PC? There are visually no difference from 8k to 16k on normal display, and 8k can't utilize hardware completely. Because of this, critics are saying it is another poor console port. Wait, ID tech 5 is suppose to utilize multi-core CPUs, while it use these extra cores to convert JPG into a format GPU understands. Wait, what happens on systems with older gen CPUs? That is fine, if they have a Nvidia video card, transcoding can be done on GPU. Wait what about AMD user? Lol, tough luck!
In comparison, the idea of the way PhysX is implement is much better, as the higher compute power, the more craps fly around. High end CPU? no problem. Low end CPU + high end Nvidia video card? no problem. Low end CPU + AMD card? Well they see less craps flying around, which is not a big deal.
This is only one way of implementing PhysX. PhysX can be implemented with 150xGTX580 just to produce 1 frame a minute, or GTX580SLI with 2600k at 120FPS. However, AMD user will not buy the game as the game is unplayable without Nvidia card, and therefore hurting sales seriously, not to mention consoles. Note that it isn't about the detail level as users can set everything as low as possible and still get < 10 FPS with there 2600k@5Ghz + 4x6970 overclocked. This is the real reason why game machanics won't change with or without a Nvidia card, not because PhysX cannot handle game machanics.
ID tech 5 also tried to port GPU transcode to OGL, but it poorly. Why? Because neither Nvidia or AMD care. While Nvidia's decision is logical, as they have CUDA, AMD simply don't give a sh!t. Why do vendors need to be envolve in programming? Because they are the ones that are responsible on how their hardware interface with those OGL APIs. The code which are done with OGL can be perfectly optimized and yet still runs like sh!t because the underlaying code behind those APIs are poorly implemented. This is why driver updates often increase performance in games. They did not change game code on how to call those APIs, but optimize the underlaying code behind those APIs, resulting better performance.
People blindly complains about proprietary can keep asking for open standards without knowing what needs to be done behind the scene. Doesn't Rage show the problems with OGL? The smart AA feature is completely missing because the underlaying code behind those OGL calls are missing from both vendors. People claim the game without knowing that it is really driver bugs. What is the point of porting everything to open standard when vendors fail to support them?
PhysX works and it can be used to suck up some of those extra horse power without having to revamp the whole game and so does Megatexture, but users do not see it this way, nor we even care. The definition of "work" depends on their "setup", not how it is coded. If it runs without crash, 60/120FPS, looks good and GPU/CPU monitor shows 90+% usage, then it is "working", which is a valid definition as we are the users. Once it works, then we may have interest on how it is done. Otherwise, it is simply a piece of junk code.