В принципе, все правы - btree является индексом по умолчанию, поскольку он работает очень хорошо. GiST - это несколько разные звери - это скорее «основа для написания типов индексов», чем сам по себе тип индекса. Вы должны добавить пользовательский код (на сервере), чтобы использовать его, но с другой стороны - они очень гибкие.
Обычно - вы не используете GiST, если только тип данных, который вы используете, не говорит вам об этом. Пример типов данных, которые используют GiST: ltree (из contrib), tsvector (contrib / tsearch до 8.2, в ядре начиная с 8.3) и другие.
Существует хорошо известное и довольно быстрое географическое расширение PostgreSQL - PostGIS (http://postgis.refractions.net/), которое использует GiST для своих целей.