MySQL caching (innodb_buffer_pool_size vs query_cache_*)

Buffer pool is for caching retrieved table and index data in memory, query cache just caches the parsed mysql queries and their results. The former is much larger and usually far more important. Sure you can use both.