Generally, it's better to "limit playing strength to elo". However, the engine you're using must be designed for that feature. (If it wasn't designed for that, the "limit playing strength to elo" choice in the menu will be greyed out and unusable.) Of course, engine programmers handle the elo reduction in different ways. Some only reduce the number of nodes searched, while others might also add some randomness to the evaluation function that varies according to the elo level.
However, even if you can limit playing strength by elo, the elo level chosen will probably not be accurate. All of the engine programmers guess at the elo levels, because it would take a massive amount of work to accurately calibrate the elo levels to real-life playing performance. So really, all you can do is pick an elo level for an engine, then try to find out what that level corresponds to by playing it many games against a rated player. (Preferably many rated players, but now we're getting into silly talk. ) Short of that, you won't really know the actual elo level of the engine; You'll just have to use the engine in a relative way to see if you get better over time by increasing your winning percentage against it.
You could try using time to limit the engine, but you might find that stong engines like Stockfish could be too strong for you even at 1 second. I think the rule of thumb is that every doubling of time used roughly corresponds to +50 or +60 elo.
You can also try setting the search depth in plies, but that's really messy. I think the relationship between search depth and elo levels is non-linear, and engines also often add search extensions to the search depth, which would mess things up.
Maybe the best "non-elo" solution would be to limit the number of nodes searched, as it isn't distorted by things like search extensions.
Stockfish 8 is an exception to the "limit by elo" idea. You can limit Stockfish's strength, but you do it in the engine configuration window by choosing a skill level between 0 and 20.
Hi, in Arena chess, what's the best way to limit an engine's power? I'm not that familiar with this software so hopefully someone who knows can help me. I googled it but could not find someone comparing these two methods. So I see two options, "limit playing strength to elo" under "Levels" and also "Adjust" where I can limit the time an engine has, for instance, to one second per move. I've been told that using the time limit is better but I would not know the ELO that way and I want to have an idea of ELO so I can play an engine that's roughly the same ELO.
Thank you.