Why is the A330neo more efficient than the A350 on shorter routes?
A330-900neo    A350-900
Seating       287–440        325 / 173 (ULR)
MTOW          251 t          280 t
OEW           137 t          137 t
Unit cost     US$296.4 M     US$317.4 M
Thrust/eng    324 kN         375 kN


The A330 having fewer seats means a bigger chance of high utilization on any given flight (or having high-density small seats for shorter durations / dense routes). Shorter flights are typically more frequent on a weekly basis, so the flying customers get more spread out in a low-demand season.

With more frequent airport usage, the lighter MTOW means lower fees (typically it's a function of MTOW). Having the ability to carry some 30 tonnes more, pay for it, but not utilize it (carrying fuel), is not good.

They have similar Operating Empty Weights (OEW), which typically means a similar unit cost (~\$2K/kg), but due to the generational gap of the airframe (development cost), getting a discount on the A330neo will be easier (9% bigger discount for the -900neo as of 2014).

Turbine engines give the best fuel economy when they are running near their design power. Having extra power that an airline won't use to carry lots of fuel for an ultra long-haul flight will mean not running at the best power setting. A smaller A350 could have a derated R-R XWB, but a tailored Trent 7000 (6 inches smaller fan diameter) will provide better economy outside the ultra long-haul segment.

The A330 maintenance is also mature, with enough supply, demand, and expertise, this translates to cheaper maintenance cost, especially if the customer already has A330ceo's – flying relatively short hops rackes up airframe/engine cycles more quickly.

In short, it does indeed depend on the route. Some carriers benefited from the full potential of the 787 performance, others didn't, but each carrier is sold the right projections. See: Did any Boeing 787 operator achieve the 20% fuel efficiency improvement over the 767?

Case in point, Emirates has recently (Feb 2019) decided to purchase 40 A330-900s and 30 A350-900s. (airbus.com)