Iberia have a good long haul product (better seats than TAM, everything else equal) and operate out of a first class hub airport. Their niche (South America) is booming. They should make money.
If you look along the ramp the fleet looks coherent - Airbus on every tail. I have not personally experienced poor customer service from Iberia, though their web services are a disaster.
I guess they need to scale back their short haul operations to a feeder operation (ideally out of a single terminal) and let other short haul go to lower cost competitors.