It comes from the way that android is designed. Without going into a ton of detail, that slight choppiness/sluggishness/whatever you always see just a tad of in android, compared to iOS or even windows phone, is because of the fact that android handles multi-tasking and background tasks
better than those other OS's do.
When you touch the screen on the iPhone, for example, all (or most) resources are diverted to responding to that (there's a word for this that is escaping me at the moment) touch. Some background processes pause entirely while others just slow down a lot.. all so that you get that "instant" sensation. I believe Windows Phone handles it similarly.
In Android, that doesn't happen. That's why your web pages load while you scrolling around in other stuff and flipping through other applications even. That's why your widgets keep updating at the same inherent rate while your doing other stuff too. Android has true multitasking which it handles better than the other mobile OS's, but the sacrifice you pay for it is a touch of lag, which can be more noticeable the more processes you have going on in your phone. Same as how your computer multitasks very well, but you know if you have a ton of crap open on it you might see some stutter here or there.
Hope this explanation helps... I'm no expert, and I'm sure someone could jump in and explain the whole thing better than me, and probably correct something I said that's wrongish, but I'm just trying to give you the gist of it
This for the most part. Going to add a few more things:
1) Every process on your device is run in its own thread. For instance, an Android Twitter app will typically have a minimum of two processes, or threads: one for the app itself (GUI and logic) and another for its background service (auto-updates/pull requests, notifications, push event listeners, etc). This is no different than with any other computer software and OS out there; everything is handled with threads.
The difference between WP7/iOS and Android is that the latter does not do a good job separating UI threads from logic threads whereas the former do. What tends to happen is that Android UIs "block" or are basically unable to be interacted with until the application's processing is over. A notable offender is TitaniumBackup (especially on older devices); once you start the backup procedure, it can be difficult to stop since the hardware is so focused on the processing and the OS hasn't given enough resources to the UI to let you instantly stop the backup at your whim.
Good news is that with updates TB has reduced its blocking ability and is more responsive. Furthermore, more powerful devices are able to handle both responsive UI and processor intensive apps/tasks/processes simultaneously. However, as hardware becomes more efficient, software becomes more complex, so this lagginess will never go away (at least not permanently) just by buying bigger and better hardware, just as we have seen in the PC market.
2) The UI threads in WP7/iOS were designed from the start to always have higher priority than other processes within the OS, allowing user interaction to block processor intensive tasks (as opposed to the opposite as seen within Android). UI thread priority is set to "Realtime" so that even "High" priority processes cannot overrule user interaction. This is a very good design philosophy and I do have to commend Apple for following this route as it lends the iPhone to be more of a humanized tool than yet another piece of frustrating crap technology that the populace despises.
So long as Android's UI threads aren't given higher priority than other tasks/processes within the OS, the OS will be laggy no matter what hardware you invent and software optimizations you introduce.
3) The Galaxy Nexus and ICS. ICS is a very resource hungry OS compared to GB and below and it shows throughout the OS. It is a very slick OS just because the hardware can support it today, but when Jelly Bean comes out next year our Galaxy Nexii will be begging to be put out of their mercy.
There are things you can do to optimize the experience, especially GPU overclocks and turning down/off animations, but even then only a small number of people will actually enjoy those tweaks in the long run. PROTIP: Open the Task Switcher and swipe left/right to remove any apps you don't plan to open up anytime soon. The OS does a poor job keeping the app's screenshots in memory, hence the lag when opening up the task switcher for the first time every 30 minutes.
The never-ending debate of Form vs Function is one of much importance when it comes to consumer hardware and software. On one hand, Android is easily the most malleable yet powerful mobile OS in the history of the world and devices that utilize the software can truly be called "Superphones." On the other hand, iOS and WP7 focus more on the user experience than on raw power, prioritizing UI interactions within the current process/app over multitasking of background apps and services. This means less frustrated pecking and cursing since your device will almost never block you from commanding it.
Android's roots lay in the realm of productivity over consumption (as did BlackBerry's), which is contradictory to the fact that the limitations of smart phones and tablets lend these devices to being useful almost exclusively for content consumption. The lagginess we all experience even on our Nexii with ICS is because Android knows it is powerful and tries to simultaneously do as much as it can to make sure that power isn't going to waste, even if it means sacrificing user interactivity.
In essence, Android is actually a resource-intensive modern-day desktop OS squeezed onto computer hardware specs from eight years ago (except in handheld format). Once the latest desktops are entirely replaced by smartphone hardware (ETA 2020, see Mozilla's Seabird concept video) Android will be damned amazing. All we need to do is keep our sanity in check and deal with a handful of annoyances during this transformation.