First, consider that WINE is by definition aiming at a moving target: it's trying to provide a windows compatibility layer that allows Windows applications to run on Linux. Hell, Windows isn't even compatible with itself!
Second, consider that the Windows API itself has many thousands of undocumented or poorly documented internal interactions. Programs can quite frequently end up being dependent on those interactions without realizing it.
(BTW, in all fairness I should say the above criticisms could also be leveled at most any flavor of Linux)
Third, consider the sheer NUMBER of applications that run on WINE, and the effort that would be required to undertake a regression test every time an update comes out.
In short, the nature of the beast is that Windows is constantly changing its behavior, and doing so in undocumented or poorly documented ways. Applications can end up being dependent on hidden Windows behavior without realizing it. Because of this, seemingly innocuous changes in WINE's code can result in significant breakage, through no particular fault of the WINE devs.
Second, consider that the Windows API itself has many thousands of undocumented or poorly documented internal interactions. Programs can quite frequently end up being dependent on those interactions without realizing it.
(BTW, in all fairness I should say the above criticisms could also be leveled at most any flavor of Linux)
Third, consider the sheer NUMBER of applications that run on WINE, and the effort that would be required to undertake a regression test every time an update comes out.
In short, the nature of the beast is that Windows is constantly changing its behavior, and doing so in undocumented or poorly documented ways. Applications can end up being dependent on hidden Windows behavior without realizing it. Because of this, seemingly innocuous changes in WINE's code can result in significant breakage, through no particular fault of the WINE devs.