When is retopology required?
Retopology is required for performance:


if you need to deform the mesh (armature, etc.)
if you need to do simulation with the mesh
if you need to do real-time rendering of the mesh
if you need to paint very hipoly object (this point is not true for other software than Blender, for example Zbrush can paint high-resolution meshes easily)


Since Cycles has a shadow terminator limitation with rendering low-poly objects you need to render a high-enough-poly anyway (subsurf with displacement or normalmap). So depending on the object if you do not need the performance gain from the bullet points above it might be better to render just the highpoly and save time with the retopo work. With decimated hipoly you can get the same vertex count as with retopo+subsurf (so same render time) and you save a displacement or normal map texture space in VRAM/RAM (and some pre-render computation). The color can be either in vertex colors or the decimated hipoly can be unwrapped to use a texture similar as the retopo mesh would. However unwrapping high-poly meshes is slow in Blender (actually everything is slow in Blender with hipoly).

Every object is different, but the general approach would be this:


Try decimating the object enough so the poly-count is the lowest but you don't loose detail in render.
Next try painting into the vertex colors (you can have multiple of vertex color "textures" for specularity, roughness, color, etc.)
If the painting is too slow and you are unable to use other app than Blender for painting the mesh, try unwrapping the decimated mesh (you can use automated unwrap without making seams). If that is also unusable or painting into texture is also slow, you will have to put in the work of retopology to optimize the mesh to increase performance.