As someone who's used Android intensely for years, I expected the lack of physical buttons to be a shock. I'm happy to say, though, that I've found the adjustment surprisingly painless. It's really a natural evolution, as the on-screen buttons appear when and where you need them. If you rotate your device to a horizontal position, they move along with it. And if you don't need them on-screen -- say, if you're viewing a photo or video -- they disappear, turning into tiny dots that can emerge when beckoned but stay out of your way otherwise.
That said, the shift in button strategy does change the way you interact with the phone, especially when it comes to the search and menu functions that used to have permanent places on the front of the device. The elimination of the menu function is intended to make Android more user-friendly: Rather than having to press your phone's menu button to find commands, as you did with previous versions of Android, apps designed for ICS show all your options in a new "action bar" that sits at the top of the screen. The action bar's commands are context-sensitive, too, so they vary based on what task you're performing.
When you open Google Voice, for example, the action bar gives you one icon to compose a new text, one to refresh your inbox, and one that holds an overflow list of less commonly used functions (Ice Cream Sandwich's on-screen equivalent of the old menu button). When you're viewing an actual message in Google Voice, the action bar changes to give you options to call the person from your conversation or compose a new message to someone else.
This approach is excellent in theory. In execution, however, it has one glaring problem: Ice Cream Sandwich lacks a certain level of consistency with the placement of some key functions. Search, for example, is sometimes an icon in the action bar, and other times an option in the on-screen overflow menu (as is the case in Google Voice).
Even that overflow menu itself moves around somewhat from application to application: On most apps that have been optimized for ICS, it lives within the action bar at the top. But on older apps that have not been updated to reflect the new design standards, it appears squished in alongside the main navigation icons at the bottom. A similar inconsistency occurred within Honeycomb. My hope is that, as the new interface reaches more and more devices, app developers will update their programs to support the new approach.
(With existing phones that have physical buttons, by the way, the physical buttons will continue to function as they always have; you'll just use those instead of the new on-screen alternatives. The full ICS effect will be seen only on the Galaxy Nexus and subsequent button-free devices.)