The main purpose of Symbol.toPrimitive is to change the order in which toString and valueOf are called in different coercion scenarios.
An example of this is the Date native object, where it will convert the value to a string instead of a number by default:
console.log(1 + new Date()); // "1Mon Aug 15 2016 13:25:31 GMT-0500 (EST)"
var a = new Date(1000);
console.log(a == 1000); // false
console.log(a == a.toString()); // true
If you do not intend to do this, you should just override both obj.valueOf and obj.toString to match the behaviour that you want — this is what most of the native objects do in JavaScript.
Note that both valueOf and toString should be overridden, as the ToPrimitive abstract operation may call either of them for coercion depending on the reason ToPrimitive is being called.