The argument of whether or not one's stroke is straight or not is specious, in the sense that what's really important is consistency. If you can repeatedly shoot the same shot over and over accurately with a crooked arm, or with a curving stroke, don't change a thing. However, my own experience tells me that very few players can play well like that.
I have done extensive research on the subject with my doctor and with my kinesiologist, for my own sake, and because I'm currently developing an electronic training device to help my students.
I'd like to share with you what I have discovered, maybe it'll help someone. Bear in mind that I am not a great player by any stretch of imagination, so I have no credentials to tell anybody what they should do, but I think my fundamentals are solid.
First of all, everybody is different. It may sound obvious, but it is worth repeating. Therefore, there is no "do this" method that will work for everybody. The method I have developed, that I am building the training device for, is a "meta-method". That is, it is a method to help players develop their very own training method. It is a method to make you discover how your own body works, find what works for you, and ultimately become your very own pool teacher.
It is not an easy method to follow, but it works great with those of my students who care to work with it. For many months, they have to work on the faith that I'm right, that they shouldn't give up when their game falls in the gutter, and that they shouldn't listen to people who give cheap advices like "tighten your grip, you'll shoot lights out".
Okay, so here is what I teach my students:
Firstly, what you want is consistency. It doesn't matter if you miss half of your shots, as long as you always miss the same way. If you consistently make the same mistakes, then you can work on improving them. If your performances over time yo-yo, then one of the variables in your "body equation" is floating and you'll never be able to solve the entire equation.
What is this "body equation" you're trying to solve? well, you're trying to get your body, which is soft flesh and bones and constantly evolving as you age, workout, grow... into achieving a movement that are is more suited to a machine: make your cue move like a piston rod so you can hit a small target (the cueball), while positioning your eyes properly over the cue so you can line up that small target with an even smaller one (the object ball). A machine is rigid, and the designer of a hypothetical pool robot just has to program the right coordinates and shoot away. Your body is not rigid, nature didn't design it for that kind of task, so it introduces a lot of extraneous noises in that simple system.
The hit of the cue tip on the cueball is almost instantaneous, so if you can hit the right spot on the cueball with the cue lined up right at the right moment, it shouldn't matter if the cue travels crooked before or after the hit. However, you can rarely achieve a consistent hit with a crooked stroke. So you need as straight a stroke as possible (eliminate one "floating variable" in the equation).
Also, the balls are bound vertically by the table below them, and by gravity. So if you hit less consistently vertically, it doesn't matter as much as hitting consistently horizontally. Therefore, you need to make your cue travel not along a line, but within a plane, which is a lot simpler (one less "floating variable").
Your shooting forearm is a lever: everything above the elbow (arm, shoulder, entire body) should stay very still, and everything below it also (wrist, hand, fingers). The elbow is one of the simplest joint in the human body, as it only has one degree of freedom (while not strictly true, it is true enough for our purpose), so you need to take advantage of it by putting only the elbow in motion during your stroke (one less variable). The point of the method is to help you find the plane the elbow joint naturally travels in, and make that plane parallel to the plane of the shot.
Unfortunately, the human brain works against you: when a human performs a simple task like moving an object in a straight line, the entire body is subconsciously coordinated to make this happen. While this is good enough for many tasks, it is not good enough for pool playing. Subconsciously, if you play without knowing what to do, your brain will try to drive forearm, arm and shoulder muscles to achieve a smooth movement in your fingers. It works beautifully, as it allows bangers to pocket balls, but you want to do better than that and learn to mentally disassociate your elbow movements from the rest of your body, otherwise there are way too many variables in your body equation.
Also, the elbow joint is an imperfect mechanical joint for our purpose: it joints the arm bone (humerus) to two forearm bones (ulna and radius). The ulna and radius can twist with respect to each other, which allow the wrist to rotate. The wrist rotation angle changes the elbow plane slightly, which is called the "carrying angle", and allows the forearm to move away from the hips when human walks upright, so the arms don't bang on the hips when we walk. That is however an additional problem to play pool.
Furthermore, the motive power of the shot, the biceps, is attached to the radius, not the ulna. Again, bad luck for pool players: depending on the wrist rotation, the biceps pulls more or less away from the elbow plane, modifying it yet again.
You can test how marvelously the human brain automatically corrects all these mechanical aberrations by constantly and precisely adjusting muscle tension here and there: hold your right arm straight, put your left hand on your right biceps, and twist your right hand as if you were turning a knob: you will feel the biceps tense up and relax just to maintain the movement you impose on your hand and compensate the carrying angle, all that subconsciously! Marvelous isn't it? and disastrous for our game of pool...
Putting it all together:
So when you play pool, you will teach your brain to fight the urge to compensate for the imperfect mechanical setup of your elbow, and position your body to achieve the best "natural" elbow position. That's the position in which, if you leave your arm dangling, the elbow travels in the plane of the shot, and when you make your biceps work to shoot, it doesn't modify the elbow plane appreciably. You will learn to feel when you're "all good": it's a powerful feeling, that's when you know the shot will go in no matter what, but it takes time to get there. Also, YOU will have to determine your own way to get there, I can only give you hints.
Most importantly, you need feedback. You need to be able to "listen" to your arm, to detect tension in the shoulder or in the forearm, and you need to be able to detect when your cue doesn't travel straight. Both of these skills are hard to get, but they are the basis of this method. Once you can evaluate those two informations, you'll be able to apply corrections. That's the difference between this method and getting a lesson with an instructor: when you can't evaluate yourself, you need someone to do it for you (video evaluation, trainer's advice). My method teaches you to do it yourself all the time and make that an automatism.
How to "listen" to your arm: get down on the shot like you normally would, and once you think you're good, let your shooting forearm dangle. Be honest with yourself and really let everything loose. Your brain constantly tries to tells you you're nice and loose, while auto-correcting your position with various muscles. That's what usually leads to cases of "chicken wing" arms. You really need to pretend your shooting arms is paralyzed. Once you manage to convince your brain to "let go", your cue will likely veer wildly inward or outward. Feel how your arm feels in that situation for as long as you can, then do it again, in various shooting positions. It is not as easy as it sounds to really let your arm go loose. The difficulty of course is that you need to grip the cue and stabilize your shoulder at the same time, so you need to target mentally which exact muscles to relax, and not the others.
How to see if your cue travels straight: forget about your arm for a moment. Get down on the shot and take a few stroke, only swinging your forearm and not moving your shoulder or wrist. Watch carefully your shaft at the back of your stroke: the shaft rises up toward your eyes. That's when you'll see if your stroke veers sideways or not: you'll see the shaft rise up not in the center, but to the side. It's not very easy to see, but it's there. If you play with your head higher, watch the shaft at the bottom of the stroke against features on the cloth or the rail. Again, not easy to see, but quite detectable with a little practice. If you can't see it, try crooking your arm or introducing a really obvious defect in your arm position, then reduce the defect to train yourself to see it.
Now then, the hard part: how to approach the shot and taking practice strokes, reading your body and your cue, and correcting things as you go along:
Standing up, let your entire shooting arm loose alongside your body, adopt your final (light) grip right now, keep the cue horizontal, support the shaft with your bridge hand but be very careful of making your bridge hand follow the shaft horizontally where your shooting arm naturally wants to pull the cue, and not forcing the cue sideways with it, then line up the shot by positioning your feet properly.
Then, slowly get down on the shot until your cue almost hits the rail (shooting arm still entirely limp) and your bridge hand lands on the table. Depending on your height, this will happen very quickly.
Then, and that's the hard part, start going down all the way, and constantly concentrate on letting your shooting forearm VERY loose and dangling. Your arm will start to rotate at the shoulder and at the elbow to keep the cue at playing height while the rest of your body descends on the shot. It is VERY important to constantly check that your forearm is loose: your brain will automatically start to tense muscles up here and there to maintain the cue position, but you need to fight the urge and instead, correct the rest of your body (bridge arm, back, hips, neck) and "wrap" around the cue + dangling shooting arm system. Do this slowly and pay attention only to the loose forearm.
At some point, depending on your height, you'll feel that you can't go any lower without tensing up. If you're tall like I am, you'll manage to put your head a foot above the cue, no less. If you're short, you'll go down all the way. If you're tall and feel the need to go lower, work on your neck. You may also feel more comfortable if your head is higher: whatever your preference, at some point you need to arrive at your best height for that particular shot with your forearm completely dangling.
At this point, your shooting arm's elbow joint works in its natural, unloaded plane, and that plane is pretty close to the plan the cue should travel in for a successful shot. But it's not good enough yet.
Now you need to make the arm muscles work to make the shot. Take a few strokes and watch your cue as I explained above: unless you're lucky, you'll see it travel slightly "in a circle" horizontally. Pay attention, it's not very obvious. Then adjust the loaded elbow plane. You have several options, and that depends on your own body, so YOU need to figure it out: rotate your upper body slightly, pull your shooting shoulder backward (this one works great for me, I have wide shoulder and it pulls the entire arm inward), rotate your hips slightly, and finally (but as a last resort), rotate your shooting wrist slightly. Remember, you need to do these corrections AND feel your shooting arm is still loose, AND watch your shaft. This is hard, and only you can feel it and know what to correct. At no point should you feel uncomfortable, or stretched to the limit anywhere. If you are, start over, something isn't right.
When you finally hit the "magic" position, you should feel your cue is very light, your stroke seems to work perfectly. At this point, do a quick check that you still have no tension in your shooting arm, then concentrate on your stroke. Think "move only the forearm", concentrate on accelerating during the final stroke, and on follow-through. If you're truly in the right position, this will seem very easy, and the shot will go in without effort.
You'll need to work a long time until all this becomes second nature. Sorry, no magic bullet. The biggest mistake is thinking that you are in the right position when you really aren't. Then you'll think all I've said is BS. Don't give up and try harder: the right position is hard to find, really, but once you have it, it makes everything so easy it's not even funny.