Should I use Log Shipping, Replication, SSIS or something else
From all the techniques that you are thinking of, only replication will suit your requirements.


  Data should be in the application DB within minutes (real time not required)


Use transactional replication.


  The data in the application DB might not be identical in structure to the source table (i.e some columns might be missing, some others might be added)


You can publish what columns you want. Make sure that @replicate_ddl is set to 0.


  The data should ONLY be added, no updates or deletions in the target even if the source database is purged.


This is where T-Rep shines out. You can choose do not replicate DELETE statements in the statement delivery --> Delete delivery format (same for update delivery format as well). This will require reinitialization.

Be careful when generating snapshot as it will overwrite all the data on subscriber side, though there are ways to carefully do it.