Caching - techniques? suggestions? best practices?
In general, I'd recommend using boost if you don't have access to the command line of a server.  Boost creates a static HTML copy of the file inside a cache directory within your Drupal file structure.  It updates cached pages only when content changes.  It is used in conjuntion with the performance enhancement features of Drupal such as CSS and JQuery compression found under /admin/settings/performance.

If you have command line access I'd reccomend APC and memcache/memcached.  This takes a little more effort to set up, but is well worth it IMO.  There are plenty or resources on Drupal.org to help you to set up memcached.

You can also set basic caching on individual views as shown here:


 You'll see the option for caching 7th from the bottom.  There is also a similar option in panels if you use them.

These caching options are designed for end-users really, not specifically logged in users.  Indeed you may want caching disabled for logged in users if they are administrators and/or are making changes to the site.