12 is definitely not too old to get spanked. That said, spankings should be reseved for serious offenses, not being unwilling to listen to Dad about math. Spankings are for things like coming home 3 hours late when you had no idea where she was or what had happened to her, or getting brought home by the cops, or serious offenses at school.
When it comes to teaching things, some things just have to come from another adult. I told my daughter over and over to put her hair up for softball so she could see better. She refused to listen until the coach finally got tired of her missing things and told her not to show up again without her hair in a ponytail. Not only did she start wearing ponytails for softball, they became her favored hair arrangement pretty much instantly. She just had to hear it from someone other than Dad.
DS wrote:
Out of curiosity why not? I am not saying I do things differently (but I have done a great many things wrong with my daughter), but I have had others try and beat it into my head that this should not always be the case. If you tell your daughter that xxx is the way to do things and your daughter can carry on a discussion with you rationally and reasonably; giving good reasoning and back it up with sound logic... why should she be stuck to your xxx, and not work on a compromise?
DS makes a good point here. On the other hand, the parent has the final say on what's an acceptable compromise. If a kid is putting forth rational and reasonable reasons for a compromise that's one thing. If, on the other hand, the kid is just obstinately refusing to accept the parents concerns or point of view as valid and endlessly asking "but whhhyyyyyy" or something similar, then yes, lay down the law.
Never argue with kids. If they present reasonable ideas, reason with them. If they whine, have fits or tantrums, or are just obstinate, lay down the law. Just never argue. Arguing reduces you to their level; it's treating them as a peer. You argue with peers.