Frustrating factoids after living with Matlab since version 4.x:
1. Ambiguous use of parenthesis ([([( indexing operations and function calling )])]). I wish Matlab's syntactic sugar could differentiate between this two actions, using parenthesis and something else (i.e. like Mathematica's use of parenthesis vs square brackets)
2. Poor quality graphics (already mentioned in detail by other fellows)
3. Excessive "commoditization" or segmentation of functionality that should be part of the core Matlab product (e.g. signal processing, image processing, statistics, and pdes).
4. I wish there was better quality control when rolling out toolboxes. The seemingly lack of coding style/guidelines is particularly annoying. Even toolboxes meant to be used together have inconsistent syntax and seem a bunch of functions "bolted-on" to Matlab, rather than coherent extensions of M language.
5. I hopelessly wish there was first-rate support for functional programming.
6. Very poor support for time series and data structure requiring multiformat date/time indexing.
99nth. Non-specific gripe: Over time Matlab is becoming less and less my primary platform for scientific computing and algorithm development, and more often than not just a target for deployment (meaning re-writing whatever project in the M language) because the customer/client is using it, or because a particular toolbox is a time-saver. I remember the days of yore, when Matlab looked like a hammer and most problems looked like nails. Now I feel that the handle of the hammer is a Baroque wooden carving, richly ornamented, weighting 120 lbs... More surprising is the strange comfort of spending so much more time working with Mathematica's superhuman -indeed extraterrestrial- capabilities for algorithm development and testing, and the "translating" to Matlab upon request. I guess necessity is the mother of strange companions...