Curve fitting helps a great deal, especially if you’re using UGS. The motion planner on the XCarve hardware is basically an Arduino, so it’s amazing that it works as well as it does, but it has limits. The Arduino used by GRBL doesn’t have much memory, so it can’t look very far ahead while trying plan the motion. If you create paths with lots of very small line segments, the planner isn’t able to look far enough ahead to create a good motion plan, and gets stuck being really conservative. Fitting to curves or arcs cuts out nodes that don’t really contribute anything, giving you longer segments, and giving the planner a “longer view” of what’s coming, so it can do a better job.
If you use PC based control software, like Mach3, or use a newer controller board with more horsepower, like a TinyG or a SmoothieBoard, the motion planner is able to look further ahead and make better decisions, and will do a better job of handling files that aren’t set up ideally.
This is the kind of thing that often trips up newcomers, and what Phil says is right - The XCarve is a very good machine for what it costs, but that price point implies a number of concessions that had to happen to get it there. If you know what those limitations are and how to work within them, it’ll serve you well.
Read the forums voraciously, ask questions if you have trouble, and start small - Doing things like cutting test circles, crappy throw-away projects, and simple profile cuts is the best way to start, because you’re not investing a ton of time or emotion into it until you get the kinks worked out. Run projects in air first, then on test materials until those come out right, and then finally try doing them for real.
One final note, on feed rates - It’s more art than science. The rate you can push through something will vary according to your machine, belt tightness, motor size, current settings, acceleration rate, RPM setting, depth of cut, type of bit, number of flutes, type of material, humidity, and far more. Running conservative speeds is a good idea until you get a feel for how the thing sounds. I used to run every cut about 10% speed when starting it, then slowly dial it up to my ideal, or higher, as the project was cutting and I could hear it was going well. It takes trial and error (if you’re being aggressive, it takes a lot of error). Sometimes weird things happen, too - A piece of wood with a lot of moisture in it can swell as it’s being cut, exerting more force on the bit than if it was dry. If you run the RPM too high, the friction can build up excess heat and break the bit. Things like that can take some time to wrap your brain around, and they’re not always obvious. If you’re working with a new material, run small test cuts to get a feel for it first.