I know that topic modeling and clustering are related, but not similar techniques. Can anyone suggest what are the main differences?
The purpose of topic modeling methods is to discover the latent themes (topics) assumed to have generated the documents of a corpus. Topic modeling methods are built on the distributional hypothesis, suggesting that similar words occur in similar contexts. To this end, they assume a generative process (a sequence of steps), which is a set of assumptions that describe how the documents are generated. Given the assumptions of the generative process, inference is done, which results in learning the latent variables of the model. For instance, for Latent Dirichlet Allocation, this is the per-topic document distributions and the per-word document distributions. In this sense, a document can be represented by its per-topic distribution (doc$_1$ = 0.3$\times$Sports + 0.7$\times$Cinema). This later can be seen as a soft clustering approach, i.e., doc$_1$ belongs 30% in cluster Sports and 70% in Cinema. But topic models are not solely clustering methods, as can also been used for understanding, exploring, visualizing a collection.
On the other hand, clustering methods aim at partitioning data into coherent groups. Of course, what is coherent and how the partitioning is performed differs between the various clustering algorithms. The distance between the data instances is central for clustering methods and for this the instances can be represented in various ways: for documents this can be term frequencies (tf), tf-idf, and even with the per-document topic distributions learned by topic models.