How do I remove a node from the front page after a certain period of time?
Use the Rules module together with Rules Scheduler (a sub-module of it), as explained in the steps below. These steps are based on the assumption that your content type is article (adapt to whatever else fits).

Step 1: Create a field to store the expiration date

Add a field to the article content type (to store the "expiration" date), with these specs:


Machine name (say) field_expiration_date.
Use "date" as field type, for which the date module (and data API) needs to be enabled first.
Allow only 1 date.


Step 2: Create a Rules Component

Here is the Rules Component to be created (in Rules export format, just import it in your own environment via copy-paste):

{ "rules_unpublish_a_node" : {
    "LABEL" : "Unpublish a node",
    "PLUGIN" : "rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "USES VARIABLES" : { "node_to_be_unpublished" : { "label" : "Node to be unpublished", "type" : "node" } },
    "DO" : [ { "node_unpublish" : { "node" : [ "node-to-be-unpublished" ] } } ]
  }
}


If you do not want the node to be unplublished, you can also replace the Rules Action by another one to just perform a "remove sticky" for the node.

Step 3: Create a Rule using the Rules Component

Here is the Rule to be created, in Rules export format (just import it in your own environment via copy-paste, then "enable" the rule also):

{ "rules_schedule_the_unpublish_of_a_node_as_requested_by_author" : {
    "LABEL" : "Schedule the unpublish of a node as requested by author",
    "PLUGIN" : "reaction rule",
    "ACTIVE" : false,
    "OWNER" : "rules",
    "REQUIRES" : [ "rules", "rules_scheduler" ],
    "ON" : { "node_insert--article" : { "bundle" : "article" } },
    "IF" : [
      { "entity_has_field" : { "entity" : [ "node" ], "field" : "field_expiration_date" } }
    ],
    "DO" : [
      { "schedule" : {
          "component" : "rules_unpublish_a_node",
          "date" : [ "node:field-expiration-date" ],
          "identifier" : "Unpublish-node-[node:nid]",
          "param_node_to_be_unpublished" : [ "node" ]
        }
      }
    ]
  }
}


Note that the above rule refers to the Rules Component from the previous step. Make sure to only perform the import of this rule only after you completed step 1, if not the import will fail ... Should you want to use another machine name, then change field_expiration_date in the rule above to what you prefer, prior to importing this rule.

Be aware: the above rule is only triggered once, i.e. when the node (of type article) is first created (as in the question). It will right away schedule the unpublish of the node (as requested in the expiration date). If the node gets edited later on, and/or the expiration date is changed afterwards: too bad, that won't change anything to when the scheduled unpublish is going to happen.