That add is not completely right. Can you run windows 7 on that? Most likely. Will you get anything done on that with windows 7 on that, no.
Why? RAM. You are looking at a minuscule amount of RAM that is slow, low bandwidth, and quite frankly well past EOL date.
CPU: This is not enough for Vista/7 or 8. It is fine for XP, or any linux with a really light or no window manager.
Drivers: This is a can or worms better left sealed. You are likely looking at MX200/raedon 7000 (not HD7000), or intel 440 series graphics that is going to need a lot of searching for XP drivers and you will not find WDDM drivers for them ever (WDDM is the Vista/7/8 GPU driver frame). Asides, your Sound card may or may not work in newer OSs, and ethernet/modem drivers will be a long search.
Now to answer your real question as asked.
why wouldn't an older computer be able to run newer OSs
Strait forward, it depends on if you can open your mind and learn a little. Windows, XP will likely run, but not well. Upgrade the RAM past 512MB if possible and it will be usable, but slow. You can run stripped down Linux distros on that hardware without issue at all. Something like a WMless debian or Ubuntu Server would run fine. You could likely run normal Ubuntu 10.04 or Crunchbang Statler just fine on it. I have run Statler just fine on my Dell L400 and it is nearly those specs (256MB of RAM).