S Thananjaya Chakravarthy well you should ask more specifically.
There are multiple scenarios as to when and why. The most common is preformance.
Usually the cluster hast internal scaling and will be seen as 1 big machine (in SQL) at a certain point 1 machine will exhaust the amount of RAM / HD it can simultanious use. That is when you start clustering.
Another way can be spatial distribution or domain specific aggregation. There are multiple reasons to use a cluster the most common one as I mentioned is performance.
Also the definition of cluster varies based on the technology because in noSQL the move was away from 1 big machine to multiple small machines which then were called shards but having n+ shards can be seen as cluster.
Long story short, if you cannot physically scale with 1 machine anymore (based on your constraints) on strategy is to use a cluster of servers to handle the workload.
does this make sense?