Well, the truth is sometimes we lie if the true explanation will be too complicated for the majority of the pax to understand and sometimes we do it to downplay the seriousness and avert panic. For example: if the left engine was to injest a bird, burst into flames and then need to be shutdown, I would make a PA stating that we were returning to land due to an engine abnormality.
As for the "weather delay" - weather is a big issue for airlines, atc and airports. Thunderstorms, clear air turbulence and strong surface winds can have a huge affect on whether your flight is delayed. Your departure airport and destination airport may both be enjoying beautiful sunny weather but atc capacity issues enroute may result in groundstop programs, flight cancellations etc. This is not at all obvious to the average, or even smarter than average, passenger. The weather delay might even refer to a delay in the aircraft arriving for your particular flight or even a delay in deicing the frost that built up over night in clear conditions.
In my experience it would be extremely unlikely that a pilot would blatantly lie about the true reason for the delay mostly because it's too embarrasing to be caught - to say it's a weather delay and then need to open the door to allow the mechanic onboard. What is very likely to happen is to hear that it's a weather delay (when it really is a weather delay) without getting the full explanation about exactly what weather and why it's affecting your flight.
For me personally; if the left starter control valve is stuck and we can't start the engine I make a PA to say that the left starter control valve is stuck and we can't start the engine, if the baggage handlers are slow because it's cold outside I say that the baggage handlers are slow because it's cold outside and if the engine is shutdown because it was on fire I say that we had an engine abnormality.