Because having an exectuble / code call a job that looks up a package in a table and calls a package...
a) Is like asking the guy on your left to scratch the back of the guy on on your right
b) Doesn't provide the feedback to the application regarding errors / failures of the SSIS execution
c) Requires SQL agent to be running
d) Requires the executable to poll for job completion rather than being a syncronous operation