How many dinners consist of 2 optional appetisers, 3 main courses and 4 optional beverages?
My result is $2\cdot 3\cdot4 + 2\cdot3 + 3\cdot4 + 3 = 45$. Where the first product $2\cdot3\cdot4$ represent having 2 appetiser choices, 3 main dish choices and 4 beverage choices. Then the pluses represent OR. So we have further: OR having 2 appetiser choices and 3 main course choices OR 3 main courses and 4 beverages OR just 3 main courses.
But why is the above reasoning wrong? (The correct answer is $3\cdot3\cdot4$.)
Your answer is correct. Other way to think is: when a type of item is optional, you can include an extra option which is "not choosing". Than the problems turns simple:
$N=3\cdot 3 \cdot 5 \\ N=45$
When we came across with an answer error, it's difficult sometimes to consider that the author may committed a mistake. But, in fact, that's the case, your solution is the correct one :)