Had better и should в английском языке имеют схожее значение, но основное отличие заключается в ситуации употребления. 1
Had better используется в конкретной ситуации, подразумевая, что если не последовать совету, будут негативные последствия в виде проблемы или даже опасности. 1 Should употребляется, когда даётся общий совет, и если не последовать ему, негативных последствий, скорее всего, не будет. 1
Таким образом, had better выражает настоятельный совет или обязанность выполнить действие, а should — общий совет или рекомендацию. 32
Ещё одно отличие в том, что had better обычно используется для негативных рекомендаций, а should может выражать как положительные, так и отрицательные советы. 2