I disagree with you.

I think the [ArcGIS help][1]/[forums][2]/[blogs][3]/[vids][4]/etc give a great perspective on what you can achieve with the ArcGIS range of products.

You are not limited to Python to manipulate your spatial data. You can still use VBA at 931 and 10 to access the ArcObjects library, or you could take it a step further and use .NET to do all sorts of things, and again this is well documented.

I also think the [shortcuts][5] for ArcGIS Desktop are great, and you can create your own shortcuts via the Customise dialog if need be.

If you dont want to learn how to code, there is also [ModelBuilder][6] which is a great way of automating tedious tasks/common workflows, particularly with [geoprocessing][7].

I am being biased, but I do have experience with other products.

I know that Python does lack the power of providing easy to tailor interfaces to present to users, but as I mentioned, with VBA/.NET you can put together content-rich forms to give a custom interface for users to do what they need to do.

- With .NET you can script against MXDs (e.g. Loop through a folder of MXDs and open each MXD, do some stuff, then move onto next MXD
- Manipulating default values in your spatial data is also achievable with ArcObjects.

  [1]: http://resources.arcgis.com/content/web-based-help
  [2]: http://forums.arcgis.com/
  [3]: http://www.esri.com/blogs/index.html
  [4]: http://proceedings.esri.com/library/userconf/devsummit10/tech.html
  [5]: http://www.esri.com/library/brochures/pdfs/arcgis-desktop-tips.pdf
  [6]: http://blogs.esri.com/Support/blogs/mappingcenter/archive/2009/02/19/10-things-I-wish-I-had-known-about-ModelBuilder-before-I-started-using-it.aspx
  [7]: http://resources.arcgis.com/content/geoprocessing/10.0/about