FTBServer-*.jar seems to be a rename of the Forge server .jar so it doesn't seem to do anything magical to Java.
When using the Forge server it is (it seems) vitally important to tell Java it is running as a server, and to use different garbage collection.
FTB's own parameters from the various 'startserver.cmd' files typically look like this, and in my experience, seem responsible for reducing periodic "server could not keep up" messages that accompany block lag.
Code:
java -server -Xmx3072m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -jar forge-1.7.10-10.13.4.1448-1.7.10-universal.jar nogui
Minecraft is a game that is more an example of how to code a game poorly than anything and it breaks one of the more critical rules of writing performant games in managed languages - don't create memory pressure. This causes the Java Garbage collector to be invoked often, and the default Java garbage collector is a single threaded algorithm tuned to be memory efficient - it pauses the (all) application threads and then uses a serial (single CPU core) algorithm to pack the memory after collection.
"-XX:+UseConcMarkSweepGC" and "-XX:+UseParNewGC" enable multi threaded garbage collection algorithms that are tuned for performance - and in fact benefit from additional CPU cores - which can keep your servers TPS at 20 far more reliably.
There are many many many JVM parameters that various people will throw at you to improve Minecrafts performance - these two are actually important.