(a) That's wrong. If you took a very hard line, you might say that B has not done what he promised, and damages cannot adequately compensate A for having to put up with the results of the mistake. But the courts will not order specific performance when to do so would cause undue (unreasonable) hardship to the defaulting party, or result in injustice. Remember always that the remedy of specific performance originated in the courts of equity, which prioritised considerations of fairness above the strict application of legal rules, the approach favoured by the common law courts.
In the present case B has made a mistake and has used a darker paint color. But the difference is very slight and in these circumstances it would arguably cause undue hardship to B if B were ordered to supply paint of the correct color, and completely repaint the building. An order of specific performance would therefore most likely be refused, leaving A with a claim for damages