All it does is require unions to get annual written permission from their members before they can spend any dues money on politics. While this is an improvement over the status quo, it provides no way, short of litigation, for workers to discover how much of their dues money is used for politics. This problem could be ameliorated by allowing each union member to specify the exact dollar amount of his dues that could be used for politics, and limiting a union's political expenditures to the sum of those specific dollar amounts, but the Lott amendment doesn't go that far. Even if it did, the unions could dissemble about how they use the rest of their dues money. There is no way to escape the fact that the problem is forced dues for any purpose.
Unions are unique among private organizations.
No other private club or association has been granted the legal right to impose a tax, with legally enforced penalties for noncompliance, on private citizens. A worker who refuses to pay forced union dues pays a very high penalty which is enforced by government - loss of his job. The Sierra Club, for example, would love to be able legally to enforce such penalties on people who do not pay Sierra Club dues. It is well known that government regulations create intended and unintended consequences that the political class uses as excuses for more regulation. McCain-Feingold is an attempt to correct some of the problems that emerged from the 1974 Campaign Finance Law by regulating political free speech.