@SuppressLint 'NewApi' - tells Lint to ignore all warnings if the API that you are using was introduced after the minimum SDK version that you are using. This would suppress warnings about errors that might possibly occur if you later used an API that was beyond the level of HONEYCOMB (which is currently the minimum API level needed to run your project)
@TargetApi(HONEYCOMB) - tells Lint to treat this type as targeting a given API level ignoring any minimum API level that you may have mentioned. If you later referenced an API that is beyond the level of HONEYCOMB, Lint will again throw warnings about this.
Apart from this, you cannot run the app using later version APIs on a device which is capable of running only previous versions of Android which cannot interpret these APIs. While the app may load correctly, it will crash when it sees a call to this API as that version of Android does not understand what it is expected to do. You could run it without a problem on devices of level HONEYCOMB or later. If you wanted to run those apps on previous versions, you might want to consider using support libraries (if available).