Whoops, apparently Mollom ate my first comment. I do a lot of work with the Drupal 6 version of OpenLayers module (see https://ecenter.fnal.gov/network) and wanted to throw in my curmudgeonly 2 cents. The short version: Both the module and Javascript library have issues which should be considered when picking a mapping solution.
The module's architecture: Overall the OL module's architecture is sound. It has one, it is well-documented, and it does the job for most use-cases. The problem is in the map-building process and map-rendering pipeline, which are tightly coupled. There is literally no way to pass arbitrary data or parameters to layer constructors during map building. In my project, where several layers are completely dynamically generated based on data that comes back from a web-service, I have to check the POST or querystring parameters from the layer constructor, reconstruct the data query, and get the cached result. This also means that these layers simply cannot be drawn without these parameters.
The module user interface: These architectural choices lead to one of the strangest of all of the OL module's behaviors: To create a map, you create a View with a custom display handler, which becomes available as a layer, which you add to a "preset" (now called "map"), which you then create another View to display. This is pretty confusing and arduous! And while it works fine for filtering with static layers, these choices mean richer interaction using Drupal tools can be hard to pull off.
The Javascript library architecture: OpenLayers-the-library remains the de-facto open source mapping library, but I think it is showing its age and complicated lineage, and I worry about the direction of the project. Recent point releases introduce major API changes. Much work has been done recently on mobile mapping, but the rendering API and map interaction remain hard to work with. The project documentation is thorough but not particularly enlightening, and there are literally unfinished parts of the codebase (like the curve geometry): documented but non-functional.
If you need a working, stable mapping solution, OpenLayers for Drupal is still your best option and the Drupal OL ecosystem continues to improve. But if you need complex interactivity, you'll find yourself fighting with both the Drupal module and the library. I'm currently looking into using Leaflet and Wax with a query-able GeoJSON service to handle these features going forward.
