Using :Connect(function() is what we call an anonymous function. Anonymous functions run code as functions would but they cannot be called. When you use :Connect(Function_Name), you are pretty much doing the same thing as an anonymous function, but you are calling a specific, normal function when the event is triggered. As you can see in the anonymous function we create a function itself inside of the :Connect(). I suppose that it is entirely down to preference as others have stated, however sometimes I find myself using the latter method to reuse a function for other purposes rather than being fired upon an event being triggered. If your code you are running is specifically event triggered, perhaps using an anonymous function would be more elegant - but using a non anonymous function always looks a little neater.