This is to the best of my knowledge. I am not a deep-core tech and reserve the right to be mistaken.
ODE is the physics engine that started out with OpenSim. Generally speaking ODE is fairly stable, but slow. Think of a Model T Ford that still runs very well.
BULLETsim was a replacement for ODE. It was much faster and for things like vehicles, allowed better performance. It also made regions in general run better as it was less "laggy". However there was a major issue or two: Bullet didn't always recognize prim shapes as it should. When a prim was cut to make a doorway, Bullet would often still recognize it as solid (as if the prim were not cut). Try to drop a sphere down a hollow tube and it may stick at the top of the tube or even be repulsed away as if a force were acting on it. Bullet had problems.
UBODE was brought in as a solution to those problems and for the most part it did so. But it had problems of its own. While it was hoped to be backward-compatible with Bullet, it became evident that Bullet vehicles didn't work so well under Ubode.
In addition, Ubode by definition recognizes meshes differently than Bullet, so quite a lot of mesh homes now have doorways one can't pass through, repeating the Bullet cut-prim problem, but with meshes. This problem seemed to increase dramatically with the advent of Opensim 9.0+. It was not uncommon to see a mesh race track (which had worked fine prior) now showing both avatars and cars 2m above the track surface, held there by some invisible bounding box surface.
The generally-recognized solution to this was to re-do the mesh (if one was the original mesh creator and knew how; if not, bummer). The other, more often-used, is to turn the entire building, ship or other creation
phantom and then add solid transparent prims to form floors, decks and (if desired) walls (one has the choice to build invisible walls or let people walk right through the house). Many found this difficult as they had dozens or even hundreds of mesh buildings and landscaping items covering their lands. Doorways were no longer passable, roads could not be driven on, caves could no longer be explored.
If someone is an expert mesh-maker and doesn't buy other people's stuff, Ubode will work just fine... but that's maybe .01% of the population.
So now rather than a single fairly-stable physics engine-- we have
three, each with its issues. Whereas Bullet and Ubode both solved some problems... both caused other problems for the majority of people. It is probably safe to say that had Bulletsim worked well, Ubode would not have been required. If Ubode worked well, people wouldn't be switching back to ODE (As we read above, Ilan himself has in some forum threads recommended such for someone who has tried to switch to Bullet or Ubode and experienced severe problems).
Generally speaking, stability beats speed. Users would rather have a home that works than fast cars that can't use their race track.
All three physics engines have their pros and cons, with people who like or dislike each one (or can't use one or two on their world because of major resulting issues).
In the new
Weefolk Township in Wellspring world, both Bulletsim and Ubode were brought online to run tests and see if the experience could be improved (there was a desire to be able to use Bullet vehicles). Bullet broke the games in the Township (which wasn't at all acceptable. Tinies without games look for other mischief). Ubode broke almost every home on the land (they were all mesh). So in the end, the township decided to go back to ODE. ODE vehicles, while not the best at least would function. The homes worked perfectly, as did the games. It would have been nice to have the speed of Bullet or Ubode, but not at the expense of everything else.
Okay, that's probably more than anyone wanted to read with their morning coffee... but that's the gist of what we were able to determine in our research and experiments. Fortunately Kitely gives world owners the choice of which physics engine to use.