Gathering is a fundamental coordination problem in cooperative mobile robotics. In short, given a set of robots with arbitrary initial locations and no initial agreement on a global coordinate system, gathering requires that all robots, following their algorithm, reach the exact same but not predetermined location. Gathering is particularly challenging in networks where robots are oblivious (i.e., stateless) and direct communication is replaced by observations on their respective locations. Interestingly any algorithm that solves gathering with oblivious robots is inherently self-stabilizing if no specific assumption is made on the initial distribution of the robots. In this paper, we significantly extend the studies of de-terministic gathering feasibility under different assumptions This manuscript considerably extends preliminary results presented as an extended abstract at the DISC 2006 conference [7]. The current version is under review at Distributed Computing Journal since February 2012 (in a previous form) and since 2014 in the current form. The most important results have been also presented in MAC 2010 organized in Ottawa from August 15th to 17th 2010 related to synchrony and faults (crash and Byzantine). Unlike prior work, we consider a larger set of scheduling strategies, such as bounded schedulers. In addition, we extend our study to the feasibility of probabilistic self-stabilizing gathering in both fault-free and fault-prone environments.