Разница
Несмотря на то, что had better и should имеют схожее значение, между ними существует значительная разница. Had better мы употребляем в конкретной ситуации, подразумевая, что если вы не последуете моему совету, у вас будут негативные последствия в виде проблемы или даже опасности. В то то время как should употребляется, когда мы даем общий совет, и если вы не последуете моему совету, негативных последствий, скорее всего, не будет.
You’d better stop skipping your classes or you will be expelled.
Тебе лучше перестать пропускать уроки, иначе тебя исключат.
Негативным последствием может стать исключение из школы.You should be a more careful learner if you want to be the best in your class.
Тебе следует быть более внимательным, если ты хочешь стать лучшим в своем классе.
Дается общий совет, не подразумевающий никаких негативных последствий.
Негативные последствия
You’d better tell me the truth.
Лучше скажи мне правду.You’d better leave now or you will be late.
Тебе лучше пойти сейчас, или ты опоздаешь.