When shouldn't you use t(), st(), etc. with readable string literals? Drupal coding standards dictate that nearly all string literals should be passed through t() or st() for translation;  however there are some exceptions, such as titles in hook_menu().  When isn't t() or st() necessary? I've posted a community wiki answer hoping people will edit it.
Descriptions and titles in hook_menu() *
Descriptions in hook_schema() **
watchdog() messages *
Field/instance definition labels and descriptions ***


* potx extracts the strings
** don't get translated
*** can be translated with contrib, eg. i18n_field