I would disagree with only two summary points and the first is that you say that the primary ray first detects if it intersects an object and then fires a second ray to determine which triangle it hit.
Technically that's probably true of most raytracers/path tracers but that's an optimization not intrinsic to the process.
And usually it's not first testing to see if it hit an object, it's testing to see if it hit a bounding box.
A scene often is reduced to multiple resolutions of cubes. Cubes render really really really fast. So instead of needing to test all 300 billion triangles in a scene, you can draw a box around a tree composed of 200 million triangles and ray trace against that simplification. If it hits the box, then you can go down to like 16 cubes forming the shape of the tree. If it hits one of those 16 then trace against another 16 cubes. Finally you can trace against say 16 actual geometric triangles in a leaf against the ray.
So often the multi scale bounding box tracing step actually fires a couple dozen rays... Although firing a ray isn't really precisely accurate either.
Overall acceleration structures are esoteric enough (and purely optional enough) that I wouldn't bother discussing them. There are lots of other somewhat exotic optimization structures.
It's also worth mentioning that almost every real production raytracer uses a hybrid of traditional whitted raytracing and pathtracing.
My other objection would be over saying path tracing uses a "random direction". That's not really correct either. That would be true of an *unbiased* path tracer (which doesn't really exist in the wild outside of hobby projects) but fundamentally a path tracer has the same ray paths as a raytracer, the difference is the path tracer only randomly selects one of those paths per bounce.
So a whitted raytracer may have 30 reflection rays, 30 refraction rays and 5 direct light samples and 100 global illumination samples. The path tracer is still tracing all of those paths, the difference is that it randomly picks !!Reflection Ray #12!!