On the limits, the primary limit is the processor speed. When the
animations are running, the larger more complicated ones will not be
that fluid. The SVG needs to be pretty complicated. For example, if your
SVG file is around 850K, you will start getting non-fluid motion.
You can usually use CSS, but I have found that SVG is easier for our
work. CSS is good way to eliminate repeating attributes, but SVG has
the defs tag. I usually use CSS for repeating attributes.
SVG has relative and absolute modes. For example on paths 'm' is
absolute and 'M' is relative.
A good way to prevent copycats is to put the image in as raster. You
convert the image to base 64 and stick that conversion on the backend of
an image tag.
SVG is the best format for complicated graphics. It has the structure
you need to do whatever you want.