I ran into this article this morning which does a great job of explaining why the Nexus One cannot run Android 4.0, the upcoming newest version of Android commonly known as Ice Cream Sandwich. Even though the Nexus One was considered state of the art a little over two years ago when it was released, it is now considered a relic. It's 1 ghz Snapdragon processor is an outdated version and its lack of internal memory are serious limitations for today's resource intensive apps and operating systems. While I can't complain about its processor I can, and often do, complain about its lack of internal memory. I frequently find myself complaining that I have to delete apps to free up memory. This is the only serious flaw I see with this device.
Anyway, here's the article: