The summary should be to use a request which satisfies the long term minimum cpu required at any given time. Then if you’re happy to allow it to burst then don’t set a limit. If you want consistency and constant runtime, set a limit.
If you find that your container only works when it uses the “free” burst time, and breaks when it goes back to the request cpu, then your request is too low.