Roughly how they work, there’s a pump inside driven by the output shaft, so the pump’s output pressure is proportional to vehicle speed. That’s how they know when to shift at certain speeds. The engine load has to be taken into account also in the shift algorithm, and how that’s done varies design to design. On my 70s Ford truck there’s a device that screws into the transmission called a “vacuum modulator” which connects to the intake manifold vacuum to do that function. On yours. being newer than mine, there’s probably some electric solenoids involved, controlled by a computer which knows the intake manifold vacuum and vehicle speed.
To effect a shift, the force of the transmission fluid pressure is applied to either the clutches or the bands in the gear set (usually these are a planetary design, meaning the gears orbit around in circles like the earth goes around the sun). The gear set performs a certain function (e.g. reverse, neutral, forward in a certain gear ratio, etc) depending on the band/clutch fluid pressure inputs. However it’s done, it takes really high fluid pressures to create the force needed to effect the shifts. In your case I doubt the shift algorithm implementation is the problem. Instead, either the internal fluid pressures aren’t high enough b/c something’s (usually the seals) leaking internally, or the clutches/bands are worn out. The former is sort of like being unable to brake b/c the master cylinder is leaking internally. The latter is sort of like being unable to brake b/c the pads are worn out.
Your best bet is to ask around who’s the best transmission shop in town and get an assessment. They’ll likely measure the fluid pressures and hook up some electronic gadget to see if the solenoids are doing their thing.