If I need an arm to rotate but I only need it to rotate to two positions, do I need to implement PID control or is using two limit switches with or without an encoder good enough?
How smoothly do you need your arm to get there? How fast do you need it to be as it goes? If it can go slowly, then sure, you can just turn it off with a limit switch when it reaches the right spot. If it should go quickly but not overshoot and not just hit a hard stop at full speed, more intelligence (meaning feedback) is indicated.
I would use PID with an encoder. It’s a good thing to learn and moderately easy to implement, especially if you have Talon SRX’s. It will give you speed, accuracy and precision. Usually teams double up and use limit switches on the extremes to either act as a fail-safe stop, or a zeroing mechanism to keep the encoder as accurate as possible.