If you're not sure why you would need one then no, it would not be a good purchase. You would be much better off telling us what's happening with your car: we might be able to be of assistance given some information on specific symptoms.
The on-board diagnostic port will look something like this:
It serves as an interface port that the engine computer is required to populate with diagnostic data. From a problem diagnostic point of view, the most important information would be the error codes. Your indication that an error code might be available is usually the check engine light: if it's blinking or on, there's usually a code to be read from the port.
The problem: if you don't know what the codes mean or what you should do about them, a code scanner isn't going to be very useful to you.
Yes, it is possible to reprogram your engine computer for a variety of purposes. Be aware that this is advanced-level car maintenance: if you change the fuel profile, for instance, it is easy to cause your engine to fatally break itself.
Full disclosure: I've done exactly this with my current car to great success and satisfaction. I did this will full awareness that any problems resulting would be my own fault and might include anything up to causing my car to break and my wife to burst into Fury Flames.