Using a Button to Control LED Animation

Using delay() is never a good idea when you are trying to do lots of things at once. If you are delaying for a few (1-2) milliseconds you can get away with it. However if you are delaying a long time or you have a short delay but in a long loop, then it will generally not work well.