To understand this you have to see things from the Free Software Foundation's point of view (note: I am not saying you have to agree with their point of view, or that everyone who releases their code under one of the FSFs licenses shares their point of view).
Not sure if I'm missing the point, but I cannot think of an example where the general user would go and specifically replace the .dll files I have provided/relink my object files against their own version of the LGPL library.
This is fundamentally where your worldview doesn't line up with the FSFs, it looks like you view users as people who just passively use software. The FSF views users as people who may want to modify the software they use but are denied the ability to do so by proprietary software companies.
The FSFs ideal is that all users would have the freedom to freely use modify and redistribute all the software they use. Whether any particular user chooses to exercise those freedoms is of course up to them. In their definition of free software they explicitly state "Freedom 1 includes the freedom to use your changed version in place of the original.".
They knew that if they just released their code "no strings attached" that people would not always share alike. The proprietary software world would be able to benefit from the work done in the free software world but not vice-versa.
This is why we have the concept of "copyleft", the idea that you can use code for free as long as you give your users the same freedoms you received.
But they knew that they could not get rid of proprietary software overnight (if ever) and that in some cases (for example a library supporting a free file format, or the platform libraries for an operating system) taking an all or nothing approach may not be the best route for maximizing user freedom. If a user is going to use a piece of proprietary software it's better that they use it on a free operating system with free file formats than on a proprietary operating system with proprietary file formats.
Hence the LGPL is a compromise, you get to keep your application code proprietary while using the library provided you extend your users the freedom to modify the library. The re-linking requirements are there to ensure that users can actually use their modifications.