Detect loop in linked list (Floyd cycle finding algorithm)
DRY. The first loop of lengthOfLoop is literally identical to doesLoopExist. Replace it with

    loopExist = doesLoopExist();


This also hints that doesLoopExist should be Node * doesLoopExist(), and return a node on the loop or nullptr.
The destructor invokes UB when applied to the list with a loop. At the end of the loop the next pointer points to an already deleted node.
insert should be better called append.