The current version of the A330 has seen huge improvements from when it was first launched. What people seem to forget is that over the life time of a model, incremental improvements are made on engines, cabin layouts etc. The MTOW alone has seen really good updates. Now, with those upgrades and the lower cost per plane, it makes a lot of sense to buy it. With the A330Neo coming soon, same story. Yes, it is based on a old design, but, huge improvements on the engines with the Rolls Royce Trent 7000's mounted on its wings and more passengers per flight compared with the current version puts it in a sweet spot between the current version and the A350. So it has about a 15% improvement on the current version, but not as great as the A350, but still at a lower purchasing price than the A350, so they are hitting that spot of airlines that cant really afford the A350 airliners, or dont really need the insane range of the A350.
What must be remembered is that the airline business is a strange one. One model of airliner does not fit all airline routes that a particular airline serves when you take into consideration the cost per airliner, the capacity, the MTOW and the fuel consumption and even things like hot and high performance out of airports like Joburg. There really are a lot of things to consider.