I'm seeing a lot conflicting info about this problem. With some saying sites it is NP-complete and others saying that it is co-NP-complete. The only real consistent info I can find is that is definitely NP-hard. Which is it? And why?
I think this depends on how you define MAX-3SAT.
If you define MAX-3SAT as the function problem "given a 3CNF formula, produce a variable assignment maximizing the number of satisfied clauses," then it's neither NP-complete nor co-NP-complete. NP and co-NP are classes of decision problems and therefore no function problem can belong to them. Therefore, MAX-3SAT can't belong to NP or co-NP, so it can't be a complete problem for either class. This function problem is NP-hard via a reduction from vanilla 3SAT - if you could find the maximally satisfying assignment, you could check if the original formula was satisfiable by seeing if all clauses were satisfied.
You could also define MAX-3SAT as the decision problem "given a 3CNF formula and a number n, determine whether there's a variable assignment to the formula that makes at least n clauses true." This is definitely in NP and also NP-complete via a reduction from 3SAT.
On the other hand, if you define MAX-3SAT as the decision problem "given a 3CNF formula and a variable assignment to that formula, is that assignment the one that maximizes the number of satisfied clauses?," then it would belong to co-NP (if the answer is no, you could confirm this by exhibiting a better satisfying assignment). I'm not sure if it would be NP-hard, though, and I'm also not sure whether it's co-NP-hard either.
Hope this helps!