The main motivation for a common core is not so politicians can do whatever politicians do... the main motivation is to ensure that a kid gets a decent education that covers the basics no matter what part of the nation he lives in... that motivation is perfectly sound and reasonable...
Like anything else that is "a program", there's always some diff between the motivation and the implementation... doesn't matter what kind of program it is... education program, computer program, health program, whatever kind of program, the issue is the same: you need to constantly debug it to bring the implementation more in line with the motivation.., AFAIK it *never* happens that the first try is perfectly hunky-dory and you can just sit back and let it go... it *always* needs debugging.... even if it's been around for 20 years and has been debugged competently and diligently, there's *always* something that can be done better... this is true of any program created by humankind.
A big part of the problem is that, as a society, we're not having the right conversation about it... the conversation we're having is about "kill it or keep it"... which is stupid and not productive... the right conversation to have is about how to best debug it, how to make it better, how to make the implementation more in line with the motivation... anything else is not constructive...
My understanding is that the current implementation has too much of the wrong kind of testing...
As for whether you should take off points when somebody gets the right answer in the wrong way, there are times when that doesn't make any sense and there are also times when it does make sense... it depends on what the particular teaching-and-learning agenda is about.... I can assure you that I taught classes where the main goal was to teach the students how implement computing solutions properly, and in situations like that the a computer program that produced the correct output was worth partial credit and the other qualities of the computer program they constructed also received partial credit... so, to get full credit, the student needed to more things right than just produce the correct answer... the main reason for such things is that your goal is to prepare the student for how to handle problems right when their difficulty and complexity scales up... the worst thing you can do is help them establish bad habits that will interfere with problem-solving later when the problems get more hairy....