Becoming an intermediate programmer and game developer, I don't really ever tend to use return 0. Is it really that necessary? Why? I just want to make sure I don't form a bad habit that is going to hurt me down the road.
The use of return 0 is dictated by the c++ standard. It is typically used to indicate successful completion of a program. You should keep it regardless of whether you plan to do anything with it or not.
The return value of main is what your program returns to the OS.
The OS expects a program to return 0 if everything went right, non-0 when the program got some errors.
If you don't know what to return from main, return 0.
Having void main or something else is non-standard
C++ specifically allows you to fall off the main() function without explicitly returning anything. The compiler is required to automagically insert a return 0; in there.
However, that's a weird thing, IMO. Every other non-void function is required to return something, and it flags subtle and unpredictable errors when functions have execution paths that don't return.
For me, main()'s weirdness isn't enough to be weird myself. Just return 0. It takes maybe 12 keystrokes. But more than that, it shows you to be competent and thoughtful.